Mongodb

mongodb 查询性能分析

2019-06-16  本文已影响0人  风亡小窝

对queryPlanner分析

queryPlanner : queryPlanner 的返回

对 executionStats 返回逐层分析

第一层,executionTimeMillis

最为直观 explain 返回值是 executionTimeMillis 值,指的是我们这条语句的执行时间,这个值当然是希望越少越好。
其中有3个 executionTimeMillis,分别是:

第二层,index 与 document 扫描数与查询返回条目数

这个主要讨论3个返回项:nReturnedtotalKeysExaminedtotalDocsExamined,分别代表该条查询返回的条目、索引扫描条目、文档扫描条目。这些都是直观地影响到 executionTimeMillis,我们需要扫描的越少速度越快。
对于一个查询,我们最理想的状态是:

nReturned = totalKeysExamined = totalDocsExamined

第三层,stage状态分析

那么又是什么影响到了 totalKeysExaminedtotalDocsExamined ?是 stage 的类型。类型列举如下:

对于普通查询,我希望看到 stage 的组合(查询的时候尽可能用上索引):

不希望看到包含如下的 stage:


https://www.cnblogs.com/c-abc/p/6023824.html

上一篇 下一篇

猜你喜欢

热点阅读