【发布时间】:2021-09-21 23:49:56
【问题描述】:
MongoDB 的文档中指出,使用带有大偏移量的 skip() 会很慢。
skip() 方法要求服务器在开始返回结果之前从输入结果集的开头开始扫描。随着偏移量的增加,skip() 会变慢。
假设我们排序的字段上有一个索引,为什么 MongoDB 不能直接“跳转”到正确的位置?例如如果我们有一个排序数组,我们可以得到 O(1) 中的第 100 项。为什么数据库不能这样做?
据我了解,SQL 数据库中的 OFFSET/LIMIT 会发生完全相同的情况,因此我非常感谢能涵盖这两种情况的答案。
【问题讨论】:
标签: sql database mongodb performance query-optimization