我的收藏摘要如下:
versionInfo{
_id,
module:{
name
}
}
我的陈述是:
db.getCollection('versionInfo').find({"$and":[{"_id":{"$nin":[]}},{"module.name":{"$regex":"^coffee-sprites"}}]}).limit(10)
我已经创建了索引:
1> _id
2> module.name
外观从咖啡小球开始计数结果为8 所以我限制10个花费时间是:30秒,但我限制8个花费时间非常快。 现在,我的解决方案是在限制大小大于实际大小的情况下,将限制大小调整为当前的最大大小,前提是我已经知道了实际大小。
但是计数效果不好。
我无意间尝试了以下语句:
db.getCollection('versionInfo').find({"$and":[{"_id":{"$nin":[]}},{"module.name":{"$regex":"^coffee-sprites"}}]}).limit(10).explain('executionStats')
此语句执行速度非常快,executionStats.nReturned为8。
我很困惑,为什么这个陈述比上面的陈述要快,区别只是额外的解释。