如何查看 MongoDB 查询语句的执行计划

正常来说,查看 MongoDB 的执行计划挺简单的,使用以下语句即可:

db.collectionname.find({field_name:***}).explain();

该语句不会真正在数据库中执行。

另外 Mongo 还支持下面这种执行方式:

db.collectionname.explain().find({field_name:***})

这种方式可以传入3个参数,分别代表以下含义:

db.Text.explain("queryPlanner").find({"txtId":"5855"}); -- 只生成执行计划,默认模式
db.Text.explain("executionStats").find({"txtId":"5855"}); -- 生成执行计划并执行,显示被拒绝的执行计划,同时显示执行的统计信息
db.Text.explain("allPlansExecution").find({"txtId":"5855"});--包含以上两种模式,并且显示在生成执行计划时被拒绝的执行计划的统计信息

对于update和delete等写操作,在explain()时会被执行,但是结果不会应用到数据库。

End~

你可能感兴趣的:(MongoDB,mongodb,nosql,数据库)