ITPub博客

首页 > 数据库 > NoSQL > MongoDB查看执行计划方法及相关字段说明

MongoDB查看执行计划方法及相关字段说明

NoSQL 作者:kunlunzhiying 时间:2018-02-13 15:24:52 0 删除 编辑
> db.chenfeng.find()
{ "_id" : ObjectId("5714419cf7c81959e12a904e"), "age" : 1, "name" : "duansf" }
{ "_id" : ObjectId("571441a3f7c81959e12a904f"), "age" : 2, "name" : "duansf" }
{ "_id" : ObjectId("571441a7f7c81959e12a9050"), "age" : 3, "name" : "duansf" }
{ "_id" : ObjectId("571441abf7c81959e12a9051"), "age" : 4, "name" : "duansf" }
{ "_id" : ObjectId("571442b0f7c81959e12a9052"), "age" : 5, "name" : "duansf" }
{ "_id" : ObjectId("571442bcf7c81959e12a9053"), "age" : 6, "name" : "duansf" }
>


> db.chenfeng.find().explain()
{
        "cursor" : "BasicCursor",
        "isMultiKey" : false,
        "n" : 6,
        "nscannedObjects" : 6,
        "nscanned" : 6,
        "nscannedObjectsAllPlans" : 6,
        "nscannedAllPlans" : 6,
        "scanAndOrder" : false,
        "indexOnly" : false,
        "nYields" : 0,
        "nChunkSkips" : 0,
        "millis" : 0,
        "server" : "XCC-Duanshufeng:27017",
        "filterSet" : false
}
>

加hint强制使用索引方法,这点和关系数据库特别像:
> db.chenfeng.find().hint({age:6}).explain()
{
        "cursor" : "BtreeCursor idx_age_6",
        "isMultiKey" : false,
        "n" : 6,
        "nscannedObjects" : 6,
        "nscanned" : 6,
        "nscannedObjectsAllPlans" : 6,
        "nscannedAllPlans" : 6,
        "scanAndOrder" : false,
        "indexOnly" : false,
        "nYields" : 1,
        "nChunkSkips" : 0,
        "millis" : 135,
        "indexBounds" : {
                "age" : [
                        [
                                {
                                        "$minElement" : 1
                                },
                                {
                                        "$maxElement" : 1
                                }
                        ]
                ]
        },
        "server" : "XCC-Duanshufeng:27017",
        "filterSet" : false
}


字段说明:
cursor:返回游标类型,有BasicCursor和BtreeCursor,BtreeCursor意味着使用了索引
nscanned:扫描document的行数
nscannedObjects:扫描对象的数量
n:返回的文档行数
millis:耗时(毫秒)
indexBounds:如果不为空,表示此查询使用的索引信息
server:MongoDB所在的服务器名字,27017是端口号


索引的限制:
索引名称不能超过128个字符
每个集合不能超过64个索引
复合索引不能超过31列

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28211342/viewspace-2151074/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
IT搬砖

注册时间:2014-07-28

  • 博文量
    665
  • 访问量
    344660