MongoDB權威指南學習筆記5---索引相關的知識點

來源:互聯網
上載者:User

標籤:des   使用   os   strong   io   for   2014   cti   

1 查看查詢計劃

db.user.find({"username":"xxx"}) .explain()

db.doc.find({"es_y":"2014"}).explain()
{
 "cursor" : "BasicCursor",
 "isMultiKey" : false,
 "n" : 0,
 "nscannedObjects" : 1,
 "nscanned" : 1,
 "nscannedObjectsAllPlans" : 1,
 "nscannedAllPlans" : 1,
 "scanAndOrder" : false,
 "indexOnly" : false,
 "nYields" : 0,
 "nChunkSkips" : 0,
 "millis" : 0,
 "server" : "idc254:27017",
 "filterSet" : false
}

--------

indexOnly---表明是否只用索引就可以返回所需的欄位,而不是二次根據地址取文檔!

cursor表明是否用了索引

nscanned是mongodb完成這個查詢掃描的文檔總數。

millis顯示的是這個查詢耗費的毫秒數。

n顯示了查詢結果的數量。

scanAndOrder---表明是否需要在記憶體中排序!

2 建立索引

db.user.ensureIndex({"username":1})

3 查詢某個集合的所有索引

db.doc.getIndexes()

4 查看當前伺服器的操作

db.currentOp()

{
 "inprog" : [
  {
   "opid" : 486,
   "active" : true,
   "secs_running" : 2,
   "op" : "getmore",
   "ns" : "local.oplog.rs",
   "query" : {
    
   },
   "client" : "192.168.56.66:37299",
   "desc" : "conn2",
   "threadId" : "0x7f1e191d7700",
   "connectionId" : 2,
   "waitingForLock" : false,
   "numYields" : 0,
   "lockStats" : {
    "timeLockedMicros" : {
     "r" : NumberLong(89),
     "w" : NumberLong(0)
    },
    "timeAcquiringMicros" : {
     "r" : NumberLong(15),
     "w" : NumberLong(0)
    }
   }
  }
 ]
}

 5 關於索引

對於寫操作時間慢,一個集合最多64個索引,通常不要超過2個以上的索引個數!

6 建立複合索引

db.user.ensureIndex({"key1":1,"key2":1})

7 記憶體排序

如果需要在記憶體中排序,且超過32MB.

就會報錯!

8 強制指定索引進行查詢

.hint({索引。。。})

9覆蓋索引

簡單來說,就是索引的欄位已經可以滿足需求,不需要再二次根據地址取文檔!

10隱式索引

比如說 {"age":1,"username":1}可以當做{"age":1}來使用!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.