Mongo索引優化

2022-06-27 05:48:10 字數 810 閱讀 9467

單索引

復合索引:復合索引必須完全按照建索引的順序來查

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,在後...