
成都创新互联是一家专注于网站设计制作、成都网站设计与策划设计,宁河网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:宁河等地区。宁河做网站价格咨询:13518219792
$explain 运算符提供了有关查询、索引使用以及查询统计的相关信息,这在索引优化方面非常有用。《MongoDB覆盖索引查询》一节中我们已经使用以下代码在 users 集合中的 gender 和 name 字段上的创建了索引:
> db.users.createIndex({gender:1, name:1})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
在 mongo shell 中,您可以通过 $explain 的辅助方法 explain() 来检索查询的相关信息:
> db.users.find({gender:"M"}, {name:1,_id:0}).explain()
上面的 explain() 查询会返回以下分析结果:
{
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "bianchengbang.users",
"indexFilterSet" : false,
"parsedQuery" : {
"gender" : {
"$eq" : "M"
}
},
"winningPlan" : {
"stage" : "PROJECTION",
"transformBy" : {
"name" : 1,
"_id" : 0
},
"inputStage" : {
"stage" : "IXSCAN",
"keyPattern" : {
"gender" : 1,
"name" : 1
},
"indexName" : "gender_1_name_1",
"isMultiKey" : false,
"multiKeyPaths" : {
"gender" : [ ],
"name" : [ ]
},
"isUnique" : false,
"isSparse" : false,
"isPartial" : false,
"indexVersion" : 2,
"direction" : "forward",
"indexBounds" : {
"gender" : [
"[\"M\", \"M\"]"
],
"name" : [
"[MinKey, MaxKey]"
]
}
}
},
"rejectedPlans" : [ ]
},
"serverInfo" : {
"host" : "LAPTOP-MDE57TIS",
"port" : 27017,
"version" : "4.0.10",
"gitVersion" : "c389e7f69f637f7a1ac3cc9fae843b635f20b766"
},
"ok" : 1
}
关于上面的运行结果,有以下几点需要说明:
$hint 运算符(也叫“强制查询优化器”)能够使用指定的索引来进行查询,以此来测试查询的性能。当您想要测试具有不同索引的查询性能时,此功能特别有用。在 mongo shell 中您可以使用 $hint 的辅助方法 hint() 来使用此功能,例如下面的查询指定了要使用 gender 和 name 字段的索引:
> db.users.find({gender:"M"},{name:1, _id:0}).hint({gender:1, name:1})
{ "name" : "bianchengbang" }
使用 explain() 来分析以上查询:
> db.users.find({gender:"M"},{name:1, _id:0}).hint({gender:1, name:1}).explain()
{
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "bianchengbang.users",
"indexFilterSet" : false,
"parsedQuery" : {
"gender" : {
"$eq" : "M"
}
},
"winningPlan" : {
"stage" : "PROJECTION",
"transformBy" : {
"name" : 1,
"_id" : 0
},
"inputStage" : {
"stage" : "IXSCAN",
"keyPattern" : {
"gender" : 1,
"name" : 1
},
"indexName" : "gender_1_name_1",
"isMultiKey" : false,
"multiKeyPaths" : {
"gender" : [ ],
"name" : [ ]
},
"isUnique" : false,
"isSparse" : false,
"isPartial" : false,
"indexVersion" : 2,
"direction" : "forward",
"indexBounds" : {
"gender" : [
"[\"M\", \"M\"]"
],
"name" : [
"[MinKey, MaxKey]"
]
}
}
},
"rejectedPlans" : [ ]
},
"serverInfo" : {
"host" : "LAPTOP-MDE57TIS",
"port" : 27017,
"version" : "4.0.10",
"gitVersion" : "c389e7f69f637f7a1ac3cc9fae843b635f20b766"
},
"ok" : 1
}
网站栏目:MongoDB$explain与$hint:查询分析
文章位置:http://www.csdahua.cn/qtweb/news49/520799.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网