2、MongoDB學習之索引的管理

來源:互聯網
上載者:User

標籤:alt   dex   ima   唯一索引   使用方法   建立   es2017   學習   開始   

目標:實現索引的建立、查詢、刪除、explan管理等作業環境:> db.version()3.4.7 索引建立滿足的基本需求:1;索引提高查詢速度2;在mongodb中,索引可以按自動列升序/降序來建立,便於排序3;預設是用btree來組織索引檔案,2.4版本以後,也允許建立hash索引 管理索引常用到的文法有:db.c1.createIndex(keypattern[,options])    #keypattern表示索引匹配的欄位列,例如name:1 表示那麼列升序建立索引,[,options]表示使用另一個欄位列建立索引,從而組成複合索引db.c1.getIndexes()    #查看索引的文法,當還沒有手動建立索引的時候,其實系統預設也會有索引列:_id_db.c1.find({name:‘test10‘}).explain()    #表示查詢name列集合集值test10是否有建立索引 一、索引的建立常規的索引建立方式有基本索引、複合索引、唯一索引三類。1、基本索引> db.c1.createIndex({newname:1}){    "createdCollectionAutomatically" : false,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1}#由上可以看出建立了一個基本的單列索引 2、複合索引的建立> db.c1.createIndex({newname:1,age:-1}) 3、唯一索引的建立唯一索引的主要功能就是只允許欄位值唯一常用文法為:db.c1.ensureIndex(keypattern[,options]) - DEPRECATED, use createIndex() instead> db.c1.ensureIndex({num:1},{unique:true})

 

 二、索引的查看> db.c1.getIndexes() 1;查看基本索引 

 

 2;查看複合索引 

 

  3;查看唯一索引 

 

三、explan索引驗證建立索引主要是供加快查詢速度的,基本索引建立之後,基於該列查詢會加快速度。複合索引一般是由兩個或者多個列做成索引值,如果是單列條件查詢的話,最開始建立的欄位列能夠有效(也就是說複合索引建立後,程式單列查詢會有索引效果),但是之後的欄位列的索引查詢是沒有效果的。如果複合索引裡面用到的查詢條件都是建立的複合索引時的列,欄位條件查詢時變換位置也沒關係 使用方法:> db.c1.find({newname:‘test5‘},{age:5}).explain() 

  #可以看到它的一個複合查詢

 

 

 

 四、索引的刪除常用的文法:db.c1.dropIndex(index) > db.c1.dropIndex({age:-1}){ "nIndexesWas" : 6, "ok" : 1 }> db.c1.dropIndex({num:1}){ "nIndexesWas" : 5, "ok" : 1 }> db.c1.dropIndex({name:1,age:-1}){ "nIndexesWas" : 4, "ok" : 1 } 

 

 

2、MongoDB學習之索引的管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.