Mongodb 學習筆記(二) :索引

  Mongodb 是基於集合創建索引 (Index),索引的做用相似於傳統關係型數據庫,目的是爲了提升查詢速度 。 若是沒有創建索引, Mongodb  在讀取數據時必須掃描集合中的 全部文檔記錄。 這種全集合掃描效率是很是低的,尤爲在處理大數據時,查詢可能須要花費幾十秒到幾分鐘的時間,這對基於互聯網應用的網站來講是沒法容忍的。 當集合創建索引後,查詢將掃描索引內容,而不會去掃描對應的集合。 但在創建索引的同時,是須要增長額外存儲開銷的;在已經創建索引的狀況下,若新 插入了集合文檔記錄,則會引發索引重排序,這個過程會影響查詢速度。 Mongodb 的索 引基於 B-tree 數據結構及對應算法造成。 默認狀況下,在創建集合的同時, MongoDB 數據庫自動爲集合_id 創建惟一索引,可 以免重複插入同一 _id 值的文檔記錄。算法

  建立單一字段索引:  數據庫

     db.student.createIndex({age:1})     age爲字段名  1 爲升序  -1爲降序。數據結構

  建立字段值惟一索引:大數據

      db.student.createIndex({name:"text"},{unique:true})   單字段值的惟一索引,text爲文本索引網站

    db.student.createIndex({name:"text",age:1},{unique:true})  多字段值的惟一索引 spa

  建立哈希索引:排序

    db.student.createIndex({_id:"hashed"})索引

  查詢集合上的索引:文檔

     db.student.getIndexes()get

  刪除集合的全部索引:  

    db.student.dropIndexes()

  刪除集合的指定索引:

    db.student.dropIndex(index)

  重建集合的全部索引:

    db.student.reIndex()

  查詢集合的索引大小:

    db.student.totalIndexSize()

相關文章
相關標籤/搜索