// 索引在 comId, 和 loginTime 上都有但对的索引
find // db.collontion.find({comId: “734f496571394931696b”}).skip(1200).limit(10).sort({loginTime: 1 })
aggregate // db.collection.aggregate( [{ $match: { comId: “734f496571394931696b”} }, { $sort: { loginTime: 1 } }, { $skip: 1200}, { $limit: 10 }] )
- find查询走comId索引, 数据量少 ,耗时很小
- aggregate走loginTime 全索引扫描加全文档检查。耗时非常长
xiaoxu 发表新评论
根据你这个执行计划,skip不同,执行计划不同。