mongodb分页的问题

问题

官方文档

就是在分页的时候,我们一般用.skip(1).limit(20)这种方式, 问题是skip里的参数太大的时候, 会非常慢,官方文档对此有解释:

Range queries can use indexes to avoid scanning unwanted documents, typically yielding better performance as the offset grows compared to using skip() for pagination.

stackoverflow

stackoverflow上相关的问题

简而言之

就是你虽然用skip(xx)跳过了xx跳然后作为返回结果,其实mongodb还是扫描了这xx条的

ES和MySQL也有类似的问题

解决

利用索引,比如: 你是要找某个创建日期之后的100条,就可以像下面这样

db.myCollection.find({created_date : { $gt : max_created_date_from_last_result }}).limit(100).sort({created_date:true});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值