mongo索引命令

2022-02-12 22:25:48 字數 2259 閱讀 5578

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