$explain

在本页面

$explain

Note

$explain运算符提供有关查询计划的信息。它返回一个文档,该文档描述了用于返回查询的过程和索引。在尝试优化查询时,这可能会提供有用的见解。有关输出的详细信息,请参见cursor.explain()

您可以采用以下两种形式之一指定$explain运算符:

db.collection.find()._addSpecial( "$explain", 1 )
db.collection.find( { $query: {}, $explain: 1 } )

mongo shell 中,您还可以通过explain()方法检索查询计划信息:

db.collection.find().explain()

Behavior

$explain运行实际查询以确定结果。尽管使用$explain运行查询和不使用$explain运行查询之间存在一些差异,但是通常情况下,两者的性能是相似的。因此,如果查询很慢,则$explain操作也会很慢。

此外,$explain操作会重新评估一组候选查询计划,这可能会使$explain操作执行与正常查询不同的操作。结果,这些操作通常提供 MongoDB 如何执行查询的准确说明,但不能反映这些查询的时间。

See also

首页