Docs 主页 → 开发应用程序 → MongoDB Manual
解释计划结果
在此页面上
您可以使用解释结果来确定有关查询的以下信息:
查询完成所需的时间
查询是否使用了索引
为完成查询而扫描的文档和索引键的数量
注意
查询的解释计划结果可能会在 MongoDB 版本之间发生变化。
评估查询性能
假设集合 inventory
包含以下文档:
{ "_id" : 1, "item" : "f1", type: "food", quantity: 500 } { "_id" : 2, "item" : "f2", type: "food", quantity: 100 } { "_id" : 3, "item" : "p1", type: "paper", quantity: 200 } { "_id" : 4, "item" : "p2", type: "paper", quantity: 150 } { "_id" : 5, "item" : "f3", type: "food", quantity: 300 } { "_id" : 6, "item" : "t1", type: "toys", quantity: 500 } { "_id" : 7, "item" : "a1", type: "apparel", quantity: 250 } { "_id" : 8, "item" : "a2", type: "apparel", quantity: 400 } { "_id" : 9, "item" : "t2", type: "toys", quantity: 50 } { "_id" : 10, "item" : "f4", type: "food", quantity: 75 }
无索引查询
匹配文档和已检查文档之间的数量差异可能表明,使用索引可能有助于提高查询效率。
带索引的查询
要支持对 quantity
字段的查询,请对 quantity
字段添加索引:
如果没有索引,此查询则会扫描整个 10
文档集合以返回 3
个匹配的文档。此查询还须扫描每个文档的全部,因而可能会将其拉取到内存中。此举会导致查询操作成本高昂且可能缓慢。
使用索引运行时,此查询已扫描 3
个索引条目和 3
个文档以返回 3
个匹配的文档,从而提升查询效率。