【问题标题】:MongoDB - explain.executionStatsMongoDB - 解释.executionStats
【发布时间】:2019-06-29 12:07:23
【问题描述】:

MongoDB 的 explain("executionStats") 的输出中是否有任何元素提供了一个想法或提示 - 查询是否使用给定的索引进行过滤或排序或两者兼而有之?

我阅读了以下网址

Mongodb compound indexes for filtering and sorting on BIG collection [指向以下网址并进行简短讨论]

https://emptysqua.re/blog/optimizing-mongodb-compound-indexes/ [这个给出了总体思路,但是解释输出使用了我正在使用的 Mongodb 4.0 中不存在的旧格式/元素]

https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/ [记录如何确定索引和利用索引前缀,但确实显示了确认使用的解释输出]

【问题讨论】:

    标签: mongodb explain


    【解决方案1】:

    来自 MongoDB Docs:

    如果 MongoDB 可以使用索引扫描来获取请求的排序顺序, 结果将不包括 SORT 阶段。否则,如果 MongoDB 不能 使用索引进行排序,解释结果将包含一个 SORT 阶段。

    示例:

    查看 sortop 集合中的示例数据。

    解释不带索引的查询计划:

    在集合上创建索引:

    运行相同的查询并检查解释计划中的 SORT 阶段:

    【讨论】:

      猜你喜欢
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 2012-09-24
      • 1970-01-01
      相关资源
      最近更新 更多