mongodb执行计划和实际查询执行结果不一致

mongodb使用explain执行计划所查看到的信息中使用了索引,但是接口调用时真正执行查询时却没有使用索引,请大仙帮忙解答一下,谢谢

3个回答

执行计划中有没有多个可选的执行。是不是选择了最佳方案里有索引等

u012453843
在京奋斗者 为何mongodb 实际执行rejectedPlans而不是winningPlan
一年多之前 回复
u012453843
在京奋斗者 我比较奇怪的是,mongodb为何会自己选择没有索引的方案去执行。。。
一年多之前 回复

同样遇到相同的问题,问题的关键 explain 中winningPlan是带有索引的,而真实的日志打印中没有索引。
语句 db.document.find({uid:3306,s:1}).sort({_id:-1}).limit(20)
主键 id 索引:uid。
执行计划winningPlan里 fetch是用到uid的,但是真实的执行打印的日志中却没有使用uid的索引

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!