簡體   English   中英

選擇隨機記錄:SQL 還是 MongoDB 更快?

[英]Select random record: SQL or MongoDB faster?

假設我有一個簡單的數據庫,只有一個表,沒有引用自身的外鍵。 MYSQL 或 MongoDB 會更擅長隨機選擇記錄嗎? (假設有 100 萬條記錄。)

我收集了我將使用的 SQL:

SELECT col1, col2 FROM table WHERE col3 = x ORDER BY RAND() LIMIT n

對於 MongoDB,我會使用:

collection.aggregate([
    {$match:{col3:{$eq: x}}},
    {$sample:{size:n}}
])

隨着記錄數量的增加,任何對此類查詢的性能有實際經驗的人嗎?

當然,如果沒有“WHERE”條件,我會保留一個連續的 INT id 並隨機抽取一個數字。

我對這個主題做了一些測試和研究。 在這個用例中,SQL 似乎更快。

話雖如此,我想出了另一種方法,而不是從生產中的數據庫中隨機選擇一條記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM