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