MongoDB學習筆記<六>

來源:互聯網
上載者:User

標籤:mongodb   tokumx   nosql   

繼續mongoDB的學習

--索引詳解

--索引管理

--空間索引

1.建立簡單索引

(1)先準備20萬條資料

for(var i = 0;i< 200000;i++){

   db.books.insert("number":i,"name":i+"book")

}

(2)檢查一下查詢效能

var start = new Date()

db.books.find({"number":123456})

var end = new Date();

end - start

(3)為number建立索引

db.books.ensureIndex({"number":1}) 此處1代表正序,-1代表倒序

2.需要注意的地方

-索引的建立在提升查詢效能的同時會影響插入的效能

-對於經常查詢少插入的文檔可以考慮使用索引

-每個鍵都建立索引不一定可以提高效能

-在做排序工作時,如果是大資料量也可以考慮索引

3.建立索引時可以同時指定索引的名字

db.books.ensureIndex({"name":1},{name:"bookname"})

4.唯一索引

如何解決集合books不能插入重複的文檔

 建立唯一索引:db.books.ensureIndex({"name":1},{unique:true})

5.剔除重複值

如果建立唯一索引之前,已經有重複項,怎麼辦?

db.books.ensureIndex({"name":1},{unique:true,dropDups:true})

6.hint

如何強制查詢使用指定的索引

db.books.find({"name":"obook"}).hint({"name":1})

指定索引必須是已經建立好了的索引

7.explain

如何詳細的查看本次查詢使用哪個索引和查詢資料的狀態資訊

db.books.find({"name":"0book"}).explain()

8.索引的建立過程在後台執行

db.books.ensureIndex({"name":"0book"},{bookground:true})

9.刪除索引

db.runCommand({dropIndexes:"books",index:"name_1"})精確刪除

db.runCommand({dropIndexes:"books",index:"*"})所有都刪除




MongoDB學習筆記<六>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.