1. 程式人生 > >MongoDB索引的型別

MongoDB索引的型別

索引的概念
資料庫索引是對資料表中一列或多列的值進行排序的一種資料結構,使用索引可以快速訪問資料庫表中的特定資訊。 資料庫索引的功能類似於書籍的索引,書籍有了索引就不需要翻查整本書。與此類似,在進行查詢時,資料庫會首先在索引中查詢,找到相應的條目後,就 可以直接跳轉到目標文件的位置。 MongoDB索引幾乎與關係型資料庫的索引一樣,絕大數優化關係型資料庫索引的技巧同樣適用於MongoDB。 MongoDB索引不僅可以提高文件的查詢速度,而且對於排序操作還可以節省記憶體資源的。 所有的索引資訊被儲存在system.indexes集合中,且預設總是為_id創建索引。db.system.indexes.find()可以檢視當前資料庫中建立的所有索引。
MongoDB提供了多樣性的索引支援,通過為索引設定特定的屬性,可以實現更多複雜的功能。 索引的型別 MongoDB提供了多種型別的索引,功能十分強大,其型別如下:
型別 說明 作用
Single Filed 單欄位索引 在普通欄位、子文擋以及子文件的某個欄位上建立的索引
Compound Index 複合索引 同時在多個欄位上建立的索引
Multikey Index 多鍵索引 對陣列建立的索引
Geospatial Index 地理空間索引 對地理位置型資料建立的索引(支援球面和平面)
Textlndex 全文索引 對每一個詞建立索引,支援全文搜尋
Hashed Index 雜湊索引 索引中儲存的是被索引鍵的雜湊值
單欄位索引     MongoDB可以在單個欄位上建立索引,欄位可以是普通欄位、整個子 文件以及子文件的某個欄位。 例如 db.student.createlndex({’address’:1}) db.student.createlndex({’address .city’:1}) id索引是系統預設建立的單欄位升序且具有唯一屬性的索引,每個集 合的文件都會包含該欄位,不能被刪除,預設值是Objectld型別。