<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取資料時必須掃描集合中的每個檔案並選取那些符合查詢條件的記錄。
這種掃描全集合的查詢效率是非常低的,特別在處理大量的資料時,查詢可以要花費幾十秒甚至幾分鐘,這對網站的效能是非常致命的。
索引是特殊的資料結構,索引儲存在一個易於遍歷讀取的資料集合中,索引是對資料庫表中一列或多列的值進行排序的一種結構。
mongo可以通過建立索引來提高查詢的速度。
啟動mongo並選擇目標資料庫
mongo
use test
然後準備一組資料(10萬條資料,較大的資料量)
for(i=0;i<100000;i++){db.test.insert({name:'test'+i,age:i})}
查詢一下name為"test90000"的資料。並使用explain方法來檢視查詢的效能。
db.test1.find({name:"test90000"}).explain('executionStats')
這裡可以看到查詢花了53毫秒
給欄位name建立索引
db.test1.createIndex({name: 1})
檢視索引:
給name建立索引之前,_id欄位預設為索引,建立後集合有兩個索引,"_id"和"name"。
再次查詢該條資料,並檢視查詢的效能,發現所用時間接近0毫秒。即設定索引後查詢效能大大提升了。
db.test1.find({name:"test90000"}).explain('executionStats')
5. 刪除索引
db.test1.dropIndex({name:1})
檢視之
db.test1.getIndexes()
如圖,只剩下了"_id"一個索引。"name"索引已被刪除。
db.test1.createIndex({name: 1},{"unique":true})
檢視索引
db.test1.getIndexes()
可以看到,unique為true。
設定為唯一索引後,該索引的值不能重複。
(這個特點也可以用於寫爬蟲時不想要某欄位的重複資料時,達到去重的目的。)
如圖插入一條name重複的資料時,會產生如下報錯:
即插入失敗了。
建立多個索引的方式被稱為複合索引。
首先刪掉剛剛建立的索引name
db.test1.dropIndex({name:1})
然後一次建立name,age兩個索引
db.test1.createIndex({'name':1,'age':1})
處理海量資料時,在一定的規則下使用複合索引,可以大幅提升查詢的效能.
到此這篇關於mongoDB資料庫索引快速入門指南的文章就介紹到這了,更多相關mongoDB索引內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45