mongodb全新建立索引使用ensureindex()
方法,對於已存在的索引可以使用reindex()
進行重建。
1.1 建立索引ensureindex()
mongodb建立索引使用ensureindex()
方法。
語法結構
db.collection_name.ensureindex(keys[,options])
如,為集合sites
建立索引:
> db.sites.ensureindex()
注意:1.8
版本之前建立索引使用createindex()
,1.8
版本之後已移除該方法
1.2 重建索引reindex()
db.collection_name.reindex()
如,重建集合sites
的所有索引:
> db.sites.reindex()
,"name" : "_id_",
"ns" : "newdb.sites"},,
"name" : "name_1_domain_-1",
"ns" : "newdb.sites"}],
"ok" : 1
}
1.3 建立唯一索引
db.collection_name.ensureindex(,)
檢查資料唯一性。
mongodb提供了檢視索引資訊的方法:getindexes()
方法可以用來檢視集合的所有索引,totalindexsize()
檢視集合索引的總大小,db.system.indexes.find()
檢視資料庫中所有索引資訊。
2.1 檢視集合中的索引getindexes()
db.collection_name.getindexes()
如,檢視集合sites
中的索引:
>db.sites.getindexes()[ ,
"name" : "_id_",
"ns" : "newdb.sites"
},, "name" : "name_1_domain_-1",
"ns" : "newdb.sites"
}]
2.2 檢視集合中的索引大小totalindexsize()
db.collection_name.totalindexsize()
如,檢視集合sites
索引大小:
> db.sites.totalindexsize()16352
2.3 檢視資料庫中所有索引db.system.indexes.find()
db.system.indexes.find()
如,當前資料庫的所有索引:
> db.system.indexes.find()
不在需要的索引,我們可以將其刪除。刪除索引時,可以刪除集合中的某一索引,可以刪除全部索引。
3.1 刪除指定的索引dropindex()
db.collection_name.dropindex("index-name")
如,刪除集合sites
中名為"name_1_domain_-1"的索引:
> db.sites.dropindex("name_1_domain_-1")
3.3 刪除所有索引dropindexes()
db.collection_name.dropindexes()
如,刪除集合sites
中所有的索引:
> db.sites.dropindexes()
db.collection_name.find().explain()
可分析查詢使用的索引情況,耗時,及掃瞄文件數的統計
Mongo索引優化
單索引 復合索引 復合索引必須完全按照建索引的順序來查 db.events.createindex 只能利用username 1的排序 db.events.find sort 完全無法利用索引 db.events.find sort 多key索引 針對資料型別為陣列的情況來建立索引 unique 用...
mongo 建立索引 索引系列 雜湊索引
本節我們將學習雜湊函式及其建立,並了解建立過程要注意些什麼。mongodb分片中也支援雜湊分片鍵。在分片集群中,如果資料記錄的某欄位使用雜湊索引,在分片中僅需為該字段建立雜湊分片鍵即可。no1 雜湊函式 雜湊索引使用乙個雜湊函式計算索引欄位的雜湊值。對於是巢狀文件的字段,雜湊函式將計算整個巢狀文件的...
Mongo 索引基本使用
語法簡介 db.collection name.createindex keys options keys 要建立索引的引數列表。如 其中key表示欄位名,1表示公升序排序,也可使用使用數字 1降序。options 可選引數,表示建立索引的設定。可選值如下 background,boolean,在後...