索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取數據時必須掃描集合中的每個文件並選取那些符合查詢條件的記錄。
這種掃描全集合的查詢效率是非常低的,特別在處理大量的數據時,查詢可以要花費幾十秒甚至幾分鍾,這對網站的性能是非常致命的。
索引是特殊的數據結構,索引存儲在一個易於遍歷讀取的數據集合中,索引是對數據庫表中一列或多列的值進行排序的一種結構
createIndex() 方法
MongoDB使用 createIndex() 方法來創建索引。
語法
createIndex()方法基本語法格式如下所示:
>db.collection.createIndex(keys, options)
語法中 Key 值為你要創建的索引字段,1 為指定按升序創建索引,如果你想按降序來創建索引指定為 -1 即可。
示例:(單個索引)
db.gainitem.createIndex({"roleid":1}) db.gainitem.createIndex({"itemid":1})
createIndex() 方法中你也可以設置使用多個字段創建索引(關系型數據庫中稱作復合索引)。
復合索引示例:
>db.col.createIndex({"title":1,"description":-1}) >db.gainitem.createIndex({"roleid":1,"itemid":1})
1、查看集合索引
db.gainitem.getIndexes()
2、查看集合索引大小
db.col.totalIndexSize()
3、刪除集合所有索引
db.col.dropIndexes()
4、刪除集合指定索引
db.col.dropIndex("索引名稱")