成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

mongodbExplainandIndex-創(chuàng)新互聯(lián)

Explain and Index

創(chuàng)新互聯(lián)建站成立于2013年,先為漣水等服務(wù)建站,漣水等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為漣水企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

    explain有三種模式,分別是:queryPlanner、executionStats、allPlansExecution?,F(xiàn)實開發(fā)中,常用executionStats模式,本例分析這種模式。

> db.createCollection("person")

{ "ok" : 1 }

> for(var i=0;i<2000000;i++) {

... db.person.insert({"name":"ryan"+i,"age":i})

... }

WriteResult({ "nInserted" : 1 })

> db.person.find({"age":{"$lte":2000}}).explain("executionStats")

{ "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.person", "indexFilterSet" : false, "parsedQuery" : { "age" : { "$lte" : 2000 } }, "winningPlan" : { "stage" : "COLLSCAN",                "COLLSCAN"表示全表掃描 "filter" : { "age" : { "$lte" : 2000 } }, "direction" : "forward" }, "rejectedPlans" : [ ] }, "executionStats" : { "executionSuccess" : true, "nReturned" : 2001,                    表示查詢返回的條目數(shù) "executionTimeMillis" : 741,           表示執(zhí)行語句的執(zhí)行時間 "totalKeysExamined" : 0, "totalDocsExamined" : 2000000,         表示 文檔掃描的條目數(shù) "executionStages" : { "stage" : "COLLSCAN", "filter" : { "age" : { "$lte" : 2000 } }, "nReturned" : 2001, "executionTimeMillisEstimate" : 530,    表示整體的查詢時間 "works" : 2000002, "advanced" : 2001, "needTime" : 1998000, "needYield" : 0, "saveState" : 15625, "restoreState" : 15625, "isEOF" : 1, "invalidates" : 0, "direction" : "forward", "docsExamined" : 2000000 } }, "serverInfo" : { "host" : "meteor.yeecall.com", "port" : 27027, "version" : "3.2.8", "gitVersion" : "ed70e33130c977bda0024c125b56d159573dbaf0" }, "ok" : 1 }

> db.person.ensureIndex({age:1})    創(chuàng)建索引,“1”:表示按照age進行升序,“-1”:表示按照age進行降序

                         創(chuàng)建索引時ensureIndex({field:1},{name:"indexName"}) 可以指定索引的名稱

                             也可以后臺創(chuàng)建索引: db.collection.ensureIndex({name:-1},{background:true})

{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

> db.person.find({"age":{"$lte":2001}}).explain("executionStats")

{ "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.person",    返回所查詢的表 "indexFilterSet" : false,       針對該query是否有indexfilter "parsedQuery" : { "age" : { "$lte" : 2001 } }, "winningPlan" : {               查詢優(yōu)化器針對該query所返回的最優(yōu)執(zhí)行計劃的詳細內(nèi)容 "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "keyPattern" : { "age" : 1 }, "indexName" : "age_1", "isMultiKey" : false, "isUnique" : false, "isSparse" : false, "isPartial" : false, "indexVersion" : 1, "direction" : "forward", "indexBounds" : { "age" : [ "[-inf.0, 2001.0]" ] } } }, "rejectedPlans" : [ ] }, "executionStats" : { "executionSuccess" : true, "nReturned" : 2002,                    表示本次查詢返回的條目數(shù) "executionTimeMillis" : 28,            表示本次query整體查詢的時間 "totalKeysExamined" : 2002,            表示索引掃描的條目數(shù) "totalDocsExamined" : 2002,            表示文檔掃描的條目數(shù) "executionStages" : { "stage" : "FETCH", "nReturned" : 2002, "executionTimeMillisEstimate" : 10,    表示本次查詢根據(jù)index檢索document獲得結(jié)果數(shù)據(jù)的時間 "works" : 2003, "advanced" : 2002, "needTime" : 0, "needYield" : 0, "saveState" : 15, "restoreState" : 15, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 2002, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "nReturned" : 2002, "executionTimeMillisEstimate" : 0,    表示該查詢掃描2002行index所用的時間 "works" : 2003, "advanced" : 2002, "needTime" : 0, "needYield" : 0, "saveState" : 15, "restoreState" : 15, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "age" : 1 }, "indexName" : "age_1", "isMultiKey" : false, "isUnique" : false, "isSparse" : false, "isPartial" : false, "indexVersion" : 1, "direction" : "forward", "indexBounds" : { "age" : [ "[-inf.0, 2001.0]" ] }, "keysExamined" : 2002, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0 } } }, "serverInfo" : { "host" : "meteor.yeecall.com", "port" : 27027, "version" : "3.2.8", "gitVersion" : "ed70e33130c977bda0024c125b56d159573dbaf0" }, "ok" : 1 }

>

影響 totalKeysExamined 和 totalDocsExamined 的是 stage 類型。

類型列舉如下:

  COLLSCAN:全表掃描

  IXSCAN:索引掃描

  FETCH:根據(jù)索引去檢索指定document

  SHARD_MERGE:將各個分片返回數(shù)據(jù)進行merge

  SORT:表明在內(nèi)存中進行了排序

  LIMIT:使用limit限制返回數(shù)

  SKIP:使用skip進行跳過

  IDHACK:針對_id進行查詢

  SHARDING_FILTER:通過mongos對分片數(shù)據(jù)進行查詢

  COUNT:利用db.coll.explain().count()之類進行count運算

  COUNTSCAN:count不使用Index進行count時的stage返回

  COUNT_SCAN:count使用了Index進行count時的stage返回

  SUBPLA:未使用到索引的$or查詢的stage返回

  TEXT:使用全文索引進行查詢時候的stage返回

  PROJECTION:限定返回字段時候stage的返回

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標題名稱:mongodbExplainandIndex-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://jinyejixie.com/article32/hggsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、全網(wǎng)營銷推廣、虛擬主機、面包屑導航營銷型網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
海口市| 囊谦县| 盐源县| 高碑店市| 甘谷县| 齐河县| 油尖旺区| 淮滨县| 武威市| 和政县| 玛纳斯县| 肃南| 唐山市| 五大连池市| 乌恰县| 红桥区| 镇赉县| 白银市| 江达县| 原阳县| 沭阳县| 左云县| 玛纳斯县| 丰城市| 清河县| 高密市| 肇州县| 商洛市| 咸丰县| 高碑店市| 永顺县| 玉树县| 遂川县| 喀什市| 桦南县| 东源县| 定州市| 开鲁县| 高密市| 阳谷县| 泰兴市|