欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mongoDB數(shù)據(jù)庫索引快速入門指南

 更新時(shí)間:2022年03月23日 11:31:47   作者:侯小啾  
索引是一種特殊的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)設(shè)置在一個(gè)易于遍歷形式的數(shù)據(jù)的一小部分。索引存儲(chǔ)一個(gè)特定的字段或一組字段的值,在索引中指定的值的字段排列的,對(duì)mongoDB索引相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)下吧

MongoDB 索引

索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取數(shù)據(jù)時(shí)必須掃描集合中的每個(gè)文件并選取那些符合查詢條件的記錄。

這種掃描全集合的查詢效率是非常低的,特別在處理大量的數(shù)據(jù)時(shí),查詢可以要花費(fèi)幾十秒甚至幾分鐘,這對(duì)網(wǎng)站的性能是非常致命的。

索引是特殊的數(shù)據(jù)結(jié)構(gòu),索引存儲(chǔ)在一個(gè)易于遍歷讀取的數(shù)據(jù)集合中,索引是對(duì)數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)。

mongo可以通過創(chuàng)建索引來提高查詢的速度。

1. 開始與準(zhǔn)備數(shù)據(jù)

啟動(dòng)mongo并選擇目標(biāo)數(shù)據(jù)庫

mongo

use test

然后準(zhǔn)備一組數(shù)據(jù)(10萬條數(shù)據(jù),較大的數(shù)據(jù)量)

for(i=0;i<100000;i++){db.test.insert({name:'test'+i,age:i})}

在這里插入圖片描述

2. 創(chuàng)建索引前

查詢一下name為"test90000"的數(shù)據(jù)。并使用explain方法來查看查詢的性能。

db.test1.find({name:"test90000"}).explain('executionStats')

在這里插入圖片描述

這里可以看到查詢花了53毫秒

3. 創(chuàng)建索引 createIndex

給字段name創(chuàng)建索引

db.test1.createIndex({name: 1})

在這里插入圖片描述

查看索引:

在這里插入圖片描述

給name創(chuàng)建索引之前,_id字段默認(rèn)為索引,創(chuàng)建后集合有兩個(gè)索引,"_id"和"name"。

4. 創(chuàng)建索引后

再次查找該條數(shù)據(jù),并查看查詢的性能,發(fā)現(xiàn)所用時(shí)間接近0毫秒。即設(shè)定索引后查詢性能大大提升了。

db.test1.find({name:"test90000"}).explain('executionStats')

在這里插入圖片描述

5. 刪除索引

db.test1.dropIndex({name:1})

查看之

db.test1.getIndexes()

在這里插入圖片描述

如圖,只剩下了"_id"一個(gè)索引。"name"索引已被刪除。

6.唯一索引與符合索引

①唯一索引

db.test1.createIndex({name: 1},{"unique":true})

在這里插入圖片描述

查看索引

db.test1.getIndexes()

在這里插入圖片描述

可以看到,unique為true。

設(shè)定為唯一索引后,該索引的值不能重復(fù)。
(這個(gè)特點(diǎn)也可以用于寫爬蟲時(shí)不想要某字段的重復(fù)數(shù)據(jù)時(shí),達(dá)到去重的目的。)

如圖插入一條name重復(fù)的數(shù)據(jù)時(shí),會(huì)產(chǎn)生如下報(bào)錯(cuò):

在這里插入圖片描述

即插入失敗了。

②復(fù)合索引

創(chuàng)建多個(gè)索引的方式被稱為復(fù)合索引。

首先刪掉剛剛創(chuàng)建的索引name

db.test1.dropIndex({name:1})

然后一次創(chuàng)建name,age兩個(gè)索引

db.test1.createIndex({'name':1,'age':1})

在這里插入圖片描述

處理海量數(shù)據(jù)時(shí),在一定的規(guī)則下使用復(fù)合索引,可以大幅提升查詢的性能.

到此這篇關(guān)于mongoDB數(shù)據(jù)庫索引快速入門指南的文章就介紹到這了,更多相關(guān)mongoDB索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MongoDB入門教程之聚合和游標(biāo)操作介紹

    MongoDB入門教程之聚合和游標(biāo)操作介紹

    這篇文章主要介紹了MongoDB入門教程之聚合和游標(biāo)操作介紹,聚合和游標(biāo)可以說是MongoDB中的高級(jí)操作了,需要的朋友可以參考下
    2014-08-08
  • MongoDB快速入門筆記(六)之MongoDB的文檔修改操作

    MongoDB快速入門筆記(六)之MongoDB的文檔修改操作

    這篇文章主要介紹了MongoDB快速入門筆記(六)之MongoDB的文檔修改操作的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • MongoDB Shell 命令實(shí)例總結(jié)【進(jìn)階篇】

    MongoDB Shell 命令實(shí)例總結(jié)【進(jìn)階篇】

    這篇文章主要介紹了MongoDB Shell 命令,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫常用的查詢、更新、插入、集合、函數(shù)等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-02-02
  • 深入了解MongoDB是如何存儲(chǔ)數(shù)據(jù)的

    深入了解MongoDB是如何存儲(chǔ)數(shù)據(jù)的

    MongoDB是一個(gè)可擴(kuò)展、高性能的分布式文檔存儲(chǔ)數(shù)據(jù)庫,由C 語言編寫,下面這篇文章主要給大家介紹了關(guān)于MongoDB是如何存儲(chǔ)數(shù)據(jù)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • mongodb實(shí)現(xiàn)數(shù)組對(duì)象求和方法實(shí)例

    mongodb實(shí)現(xiàn)數(shù)組對(duì)象求和方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于mongodb實(shí)現(xiàn)數(shù)組對(duì)象求和的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • MongoDB中javascript腳本編程簡介和入門實(shí)例

    MongoDB中javascript腳本編程簡介和入門實(shí)例

    作為一個(gè)數(shù)據(jù)庫,MongoDB有一個(gè)很大的優(yōu)勢(shì)——它使用js管理數(shù)據(jù)庫,所以也能夠使用js腳本進(jìn)行復(fù)雜的管理——這種方法非常靈活
    2014-04-04
  • MongoDB模糊查詢正則regex(類似like?和?not?like)

    MongoDB模糊查詢正則regex(類似like?和?not?like)

    在類關(guān)系型數(shù)據(jù)庫中,like和not?like是常用的模糊查詢操作符,它允許我們?cè)谄ヅ渥侄蔚臅r(shí)候使用通配符,在MongoDB中,也有類似的操作符,MongoDB?可以使用?$regex?操作符來設(shè)置匹配字符串的正則表達(dá)式,MongoDB?使用?PCRE(Perl?兼容的正則表達(dá)式)作為正則表達(dá)式語言
    2024-02-02
  • mongodb 命令行下及php中insert數(shù)據(jù)詳解

    mongodb 命令行下及php中insert數(shù)據(jù)詳解

    這篇文章主要介紹了mongodb 命令行下及php中insert數(shù)據(jù)詳解,需要的朋友可以參考下
    2014-07-07
  • MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda

    MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda

    這篇文章主要介紹了MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • MongoDB學(xué)習(xí)筆記之MapReduce使用示例

    MongoDB學(xué)習(xí)筆記之MapReduce使用示例

    這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之MapReduce使用示例,本文直接給出實(shí)例代碼,需要的朋友可以參考下
    2015-07-07

最新評(píng)論