單索引
復合索引:復合索引必須完全按照建索引的順序來查
db.events.createindex( )#只能利用username: 1的排序
db.events.find().sort( )
#完全無法利用索引
db.events.find().sort( )
多key索引:針對資料型別為陣列的情況來建立索引
unique:用於限制索引的field是否具有唯一性屬性,即保證該field的值唯一
db.members.createindex( , )
partial:在索引的時候只針對符合特定條件的文件來建立索引,減少索參數量,節省空間,提高檢索效率
db.restaurants.createindex(,} } //
只有當rating大於5時才會建立索引
)
關鍵點:
1.使用索引的順序:equality->sort->range
2.find和sort裡面同等級的會自動排序,會使之盡量滿足索引
有趣的case:
索引:,
db.table.find().sort().limit(10)怎麼利用索引?
避免記憶體排序,記憶體排序超過32m時會放棄
資料量少時會先使用score的索引,然後再去排序,資料量大時會利用_id的索引,掃瞄整個文件,最終速度很慢
mongo索引命令
mongodb全新建立索引使用ensureindex 方法,對於已存在的索引可以使用reindex 進行重建。1.1 建立索引ensureindex mongodb建立索引使用ensureindex 方法。語法結構 db.collection name.ensureindex keys option...
mongo 建立索引 索引系列 雜湊索引
本節我們將學習雜湊函式及其建立,並了解建立過程要注意些什麼。mongodb分片中也支援雜湊分片鍵。在分片集群中,如果資料記錄的某欄位使用雜湊索引,在分片中僅需為該字段建立雜湊分片鍵即可。no1 雜湊函式 雜湊索引使用乙個雜湊函式計算索引欄位的雜湊值。對於是巢狀文件的字段,雜湊函式將計算整個巢狀文件的...
Mongo 索引基本使用
語法簡介 db.collection name.createindex keys options keys 要建立索引的引數列表。如 其中key表示欄位名,1表示公升序排序,也可使用使用數字 1降序。options 可選引數,表示建立索引的設定。可選值如下 background,boolean,在後...