索引是提高查詢查詢效率最有效的手段。索引是一種特殊的資料結構,索引以易於遍歷的形式儲存了資料的部分內容(如:乙個特定的字段或一組字段值),索引會按一定規則對儲存值進行排序,而且索引的儲存位置在記憶體中,所在從索引中檢索資料會非常快。如果沒有索引,mongodb必須掃瞄集合中的每乙個文件,這種掃瞄的效率非常低,尤其是在資料量較大時。
建立索引
檢視索引
刪除索引
mongodb建立索引使用ensureindex()
方法。
語法結構
db.collection_name.ensureindex(keys[,options])
如,為集合sites
建立索引:
> db.sites.ensureindex()
mongodb提供了檢視索引資訊的方法:getindexes()
方法可以用來檢視集合的所有索引,totalindexsize()
檢視集合索引的總大小,reindex()
檢視集合的索引資訊。
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 檢視集合中的索引資訊reindex()
db.collection_name.reindex()如,檢視集合
sites
的索引資訊:
> db.sites.reindex(), "name" : "_id_",
"ns" : "newdb.sites"
}, ,
"name" : "name_1_domain_-1",
"ns" : "newdb.sites"
} ],
"ok" : 1
}
不在需要的索引,我們可以將其刪除。刪除索引時,可以刪除集合中的某一索引,可以刪除全部索引。
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()
mongodb的索引相關
最近開始使用mongodb,用了一段時間後,發現有索引的需求。就把學習和使用過程寫下來。先使用mongodb的shell模式,然後再用python通過pymongo使用來試試。新建索引 db.collection.createindex 如 db.collection.createindex 索引型...
mongoDB索引相關命令總結
1 我們知道如果索引使用的得當,會大幅提公升查詢速度,而如果使用不當有可能會使整個操作效能下降所以在建立索引的時候要考慮如下幾點 1 會做什麼樣的查詢,哪些鍵需要建立索引 2 每個鍵的索引方向是怎麼樣的 3 如何應對擴充套件,怎麼排序鍵的方向,使更多常用的資料儲存在記憶體中 2 這裡注意一下,建立索...
mongodb基礎索引相關內容
檢視一條集合的索引情況 db.username getindexes name id ns test.username 以username建立索引 db.username.ensureindex 然後再次檢視該集合的索引 發現索引已建立成功 db.username getindexes name i...