預設情況下,mongodb的查詢是遍歷集合中的所有文件,找到與條件匹配的資料。如果集合中包含的文件比較多,查詢時間就會比較長。建立索引的話,系統會額外建立乙個根據索引排序,幷包含原來資料位置資訊的一組資料,當再次根據已建立索引檢索時,系統會先去索引找到位置資訊,然後根據位置資訊取出對應資料,從而避免開啟所有文件,大量節省查詢時間。
1、建立索引
mongodb提供兩個方法建立索引:
(1)createindex()
(2)ensureindex()
由於初次接觸,所以簡單試了一下,兩種方式都能建立索引,以下使用ensureindex來建立
db.bb.ensureindex() //bb:集合名稱 name:索引名稱 1:公升序排列
2、對比建立索引前後查詢效率
事先在資料庫插入100000條資料,查詢name:user60000
圖為未新增索引的查詢結果,第一處標記75為:查詢耗時,第二處標記為:全集合查詢
上圖為帶索引查詢結果,fetch表示帶索引查詢,時間消耗0
通過以上對比,可以看出,新增索引對查詢的效率提高是巨大的
3、檢視已新增的索引
4、刪除索引
db.bb.dropindexes()刪除全部手動建立的索引
MongoDB索引初識
第一部分 插入測試資料 時間稍長 for vari 0 i 200000 i 驗證結果 db.numbers.find count 200000 第二部分 索引前奏 2.1 monogo 關鍵字explain explain 可以檢視我們執行命令的內部實現,那麼我們先看一下,再沒有加索引之前,查詢一...
Mongodb系列 初識Mongodb
一 背景 月初進行了期末考試非常榮幸可以參加到了考試系統維護中 詳情請閱讀 那些年我們一起參加的活動 15年上半年考試系統維護總結 主要負責server維護,在維護期間對mongodb相逢。mongodb什麼東東?假設有點暈的童鞋請猛戳me科普一下哈。正是因為這些優勢使得考試系統選擇用它來存放英語聽...
mongoDB 索引使用
一 索引基礎 mongodb的索引幾乎與傳統的關係型資料庫一模一樣,這其中也包括一些基本的優化技巧。下面是建立索引的命令 db.test.ensureindex 可以通過下面的名稱檢視索引是否已經成功建立 db.test.getindexes 刪除索引的命令是 db.test.dropindex 在...