[英]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.