【问题标题】:Select random record: SQL or MongoDB faster?选择随机记录:SQL 还是 MongoDB 更快?
【发布时间】:2021-01-18 07:55:25
【问题描述】:

假设我有一个简单的数据库,只有一个表,并且没有引用自身的外键。 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 并随机抽取一个数字。

【问题讨论】:

    标签: mysql sql mongodb random


    【解决方案1】:

    我对此主题进行了一些测试和研究。在这个用例中,SQL 似乎更快。

    话虽如此,我想出了另一种方法,可以避免在生产环境中从数据库中随机选择记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 2011-09-05
      • 1970-01-01
      相关资源
      最近更新 更多