获取一个 MongoDB 集合中的执行统计信息
要在 MongoDB 中获取统计信息,可以使用 explain() 方法。让我们创建一个包含文档的集合 −
> db.demo157.insertOne({"Status":"Active"}); { "acknowledged" : true, "insertedId" : ObjectId("5e354fdffdf09dd6d08539fc") } > db.demo157.insertOne({"Status":"InActive"}); { "acknowledged" : true, "insertedId" : ObjectId("5e354fe3fdf09dd6d08539fd") }
使用 find() 方法显示一个集合中所有文档 −
> db.demo157.find();
这将产生以下输出 −
{ "_id" : ObjectId("5e354fdffdf09dd6d08539fc"), "Status" : "Active" } { "_id" : ObjectId("5e354fe3fdf09dd6d08539fd"), "Status" : "InActive" }
以下是如何在 MongoDB 中实现 explain() 方法 −
> db.demo157.find({Status: { $in: ['Active','InActive'] }}).explain("executionStats");
这将产生以下输出 −
{ "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.demo157", "indexFilterSet" : false, "parsedQuery" : { "Status" : { "$in" : [ "Active", "InActive" ] } }, "winningPlan" : { "stage" : "COLLSCAN", "filter" : { "Status" : { "$in" : [ "Active", "InActive" ] } }, "direction" : "forward" }, "rejectedPlans" : [ ] }, "executionStats" : { "executionSuccess" : true, "nReturned" : 2, "executionTimeMillis" : 18, "totalKeysExamined" : 0, "totalDocsExamined" : 2, "executionStages" : { "stage" : "COLLSCAN", "filter" : { "Status" : { "$in" : [ "Active", "InActive" ] } }, "nReturned" : 2, "executionTimeMillisEstimate" : 0, "works" : 4, "advanced" : 2, "needTime" : 1, "needYield" : 0, "saveState" : 0, "restoreState" : 0, "isEOF" : 1, "invalidates" : 0, "direction" : "forward", "docsExamined" : 2 } }, "serverInfo" : { "host" : "DESKTOP-QN2RB3H", "port" : 27017, "version" : "4.0.5", "gitVersion" "3739429dd92b92d1b0ab120911a23d50bf03c412" }, "ok" : 1 }
广告