Docs 菜单

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 个匹配的文档,从而提升查询效率。

← 解释结果

在此页面上