$explain
在此页面上
$explain
注意
自 v 3.0起已弃用
从 v 3.2开始,
$explain
操作符在mongosh
中已弃用。 在mongosh
中,请改用db.collection.explain()
或cursor.explain()
。$explain
操作符提供有关查询计划的信息。 它返回一个文档,描述该进程以及用于返回查询的索引。 在尝试优化查询时,这可能会提供有用的见解。 有关输出的详细信息,请参阅cursor.explain()。您可以通过以下任一形式指定
$explain
操作符:db.collection.find()._addSpecial( "$explain", 1 ) db.collection.find( { $query: {}, $explain: 1 } ) 在
mongosh
中,您还可以通过explain()
方法检索查询计划信息:db.collection.find().explain()
行为
$explain
运行实际查询以确定结果。 虽然使用 $explain
运行查询和不使用运行查询之间存在一些差异,但通常两者的性能相似。 因此,如果查询很慢, $explain
操作也会很慢。
此外, $explain
操作会重新评估一组候选查询计划,这可能会导致$explain
操作的表现与普通查询不同。 因此,这些操作通常准确说明 MongoDB如何执行查询,但不反映这些查询的长度。