Mongodb的索引
生活随笔
收集整理的這篇文章主要介紹了
Mongodb的索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 簡單介紹
索引是為了加速查詢。 假設沒有索引,mongodb在查詢時會做表掃描,假設集合非常大時,這個查詢會非常慢。 一般對創建查詢時的鍵都建立索引。
為排序字段建立索引,假設對未建立索引的字段sort,mongodb會將全部的數據取到內存中來排序, 假設集合大到不能在內存中排序,則mongodb會報錯。
2. mongodb創建索引
創建索引使用ensureIndex命令。 > db.people.ensureIndex({"username" : 1});上面語句對people集合的username鍵做了索引。
3. 組合索引
對于組合查詢或排序,建立組合索引。 > db.people.ensureIndex({"date" : -1, "username" : 1});索引鍵的1或者-1,表示索引創建的順序,1為升序, -1為倒序。 假設索引僅僅有一個鍵,則方向無關緊要。
4. 內嵌文檔建立索引
為blog集合的評論依照時間建立索引: > db.blog.ensureIndex({"comments.date" : 1});
5. 唯一索引
唯一索引確保集合中的每一個鍵都是唯一值。 > db.people.ensureIndex({"username" : 1}, {"uniqe" : true});對已有的集合創建唯一索引時,有可能已經有反復值了,這樣會創建索引失敗。 dropDups會保留第一個文檔,刪除后面反復的值。 > db.people.ensureIndex({"username" : 1}, {"unique" : true, "dropDups" : true});
6. 查看建立的索引
索引放在system.indexes集合中。
> db.system.indexes.find();能夠查看索引的key, 名稱,屬于哪個集合。
7. 刪除索引
通過索引的名稱,使用dropIndexes能夠刪除索引。 索引名稱通過system.indexes來查詢。 > db.user.dropIndexes({"username_1" : 1});
地址:http://blog.csdn.net/yonggang7/article/details/28100855
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的Mongodb的索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Exchange 2013 OWA登录
- 下一篇: 制作基于http的yum源2