MongoDB檢視執行計劃方法及相關欄位說明

kunlunzhiying發表於2018-02-13
> 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章