MongoDB的explain("executionStats")的输出中是否有任何元素给出了一个想法或提示--无论查询是使用给定的索引进行筛选或排序,还是两者都使用?
我读了下面的URL
用于大型集合过滤和排序的Mongodb复合索引指向下面的URL并进行了简短的讨论
这个https://emptysqua.re/blog/optimizing-mongodb-compound-indexes/给出了一般的想法,但是解释输出使用了我正在使用的MongoDB4.0中不存在的旧格式/元素
https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/文档说明了如何确定索引和利用索引前缀,但是显示了确认使用情况的解释输出。
发布于 2019-06-29 14:06:29
来自MongoDB 文档
如果MongoDB可以使用索引扫描来获取请求的排序顺序,则结果将不包括排序阶段。否则,如果MongoDB不能使用索引进行排序,则解释结果将包括排序阶段。
示例:
查看来自sortop集合的示例数据。

为没有索引的查询解释计划:

在集合上创建索引:

在“解释计划”中运行相同的查询和检查排序阶段:

https://stackoverflow.com/questions/56817413
复制相似问题