真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mongodb索引相關(guān)-創(chuàng)新互聯(lián)

1.索引的相關(guān)介紹:

創(chuàng)新互聯(lián)公司專注于興山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),成都做商城網(wǎng)站。興山網(wǎng)站建設(shè)公司,為興山等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

monggodb的索引也是一顆平衡二叉樹,所以在傳統(tǒng)數(shù)據(jù)庫(kù)中的絕大部分的索引優(yōu)化技術(shù)也是可用的.

注意:mongodb可以在任意方向上對(duì)數(shù)據(jù)進(jìn)行遍歷(這點(diǎn)和關(guān)系數(shù)據(jù)庫(kù)中的索引不一樣),但這個(gè)僅限于單鍵排序,對(duì)于多鍵排序索引的方向還是比較重要的.

下面是個(gè)單鍵排序無(wú)方向性的具體的例子:

mongodb 索引相關(guān)

 

上面是兩個(gè)查詢的執(zhí)行計(jì)劃,紅色部分的參數(shù)表示,查詢是否在內(nèi)存中有排序操作,

從上面的例子中可以很明顯的看出,無(wú)論是按照iage的降序還是升序排序,查詢都沒(méi)有在內(nèi)存中有排序操作.

2.mongodb 中的索引類型比較多,我這里僅僅列出比較常見(jiàn)的索引類型,更多的索引類型,參見(jiàn)http://www.cnblogs.com/xinghebuluo/archive/2011/12/19/2293043.html

唯一索引:它保證跟已有文檔的索引關(guān)鍵字重復(fù)的文檔不會(huì)被插入

mongodb 索引相關(guān)

上面的的例子中已成功創(chuàng)建一個(gè)唯一索引.

復(fù)合唯一索引:多個(gè)鍵值組合的唯一索引。

復(fù)合唯一索引實(shí)例:

mongodb 索引相關(guān)

創(chuàng)建唯一索引的注意事項(xiàng):

(1)唯一索引和不存在的關(guān)鍵字:

當(dāng)保存到集合中的文檔在索引字段沒(méi)有值的話,它的索引字段會(huì)被賦值為null然后插入。就是說(shuō),你不可能在唯一索引中插入多個(gè)在某個(gè)索引字段都沒(méi)有值的文檔。(多個(gè)null值被認(rèn)為是相等的值)

以下實(shí)例在唯一索引字段上插入多個(gè)null值報(bào)錯(cuò).

 mongodb 索引相關(guān)

(2).對(duì)已經(jīng)存在的重復(fù)值的字段創(chuàng)建唯一索引.

   如果直接創(chuàng)建唯一索引肯定是會(huì)報(bào)錯(cuò)的.

mongodb 索引相關(guān)

(3).如果一定要在這樣的字段上創(chuàng)建唯一索引,可以在創(chuàng)建唯一索引的時(shí)候指定一個(gè)關(guān)鍵字dropDups來(lái)強(qiáng)制創(chuàng)建索引.但是這種創(chuàng)建索引的方法會(huì)刪除集合中的數(shù)據(jù),所以不建議使用這種方法。

使用dropDups強(qiáng)制創(chuàng)建索引范例:

mongodb 索引相關(guān)

稀疏索引:在mongdo的集合中,每個(gè)文檔的鍵值對(duì)可以不一樣(行的列數(shù)不一樣),那么在一個(gè)索引中,字段可能在某個(gè)文檔中,也有可能不在某個(gè)文檔中,當(dāng)字段不在某個(gè)文檔中的時(shí)候,查詢利用索引得到數(shù)據(jù)時(shí)默認(rèn)情況下會(huì)將沒(méi)有這個(gè)字段的文檔查詢出來(lái).

mongodb 索引相關(guān)

以上實(shí)例中的查詢,通過(guò)索引iage 得到了數(shù)據(jù),但是將不包含iage字段的文檔也查詢出來(lái)了,

這個(gè)時(shí)候可以通過(guò)稀疏索引將那些沒(méi)有包含索引字段的文檔過(guò)濾掉.

以下是一個(gè)通過(guò)稀疏索引過(guò)濾不包含索引字段的的文檔的例子:

從執(zhí)行計(jì)劃中可以看到,查詢是通過(guò)稀疏索引得到數(shù)據(jù)的,并且查詢出來(lái)的結(jié)果集中全部包含iage字段(過(guò)濾掉了沒(méi)有包含iage的文檔).

mongodb 索引相關(guān)

3.索引管理:

查看制定集合下的索引信息       :db.collection.getIndexes();

查看當(dāng)前架構(gòu)下的所有索引信息   :db.system.indexes.find({});

創(chuàng)建索引:db.collection.ensureIndex({key:1}},{unique:true,dropDups:true});

hint({}):強(qiáng)制使用某個(gè)鍵值(索引)

還可以在后臺(tái)建立索引db.collection.ensureindex({someFiled:1},{background:1})

優(yōu)點(diǎn):定期釋放鎖,以便客服端寫入數(shù)據(jù).

缺點(diǎn):耗時(shí)較長(zhǎng)

前臺(tái)建立索引(默認(rèn)):

優(yōu)點(diǎn):耗時(shí)相對(duì)較少

缺點(diǎn):索引創(chuàng)建期間客服端不能寫入數(shù)據(jù)

刪除索引:db.collection.dropIndexes() ,db.collection.dropIndex(index)

重建索引:db.test.reIndex()

標(biāo)識(shí)索引: db.collection.ensureIndex({key:1}},{name:"Index_name"});

(1):查看指定集合的所有索引:db.colleciton.getIndexes();

 mongodb 索引相關(guān)

(2)查看當(dāng)前架構(gòu)下的所有索引信息   :db.system.indexes.find({});

 mongodb 索引相關(guān)

(3)創(chuàng)建索引:db.collection.ensureIndex({key:1},{unique:true,dropDups:true,sparse:true})

  上面是創(chuàng)建索引的標(biāo)準(zhǔn)語(yǔ)法,第二個(gè)大括號(hào)({unique:true,dropDups:true,sparse:true})為索引類型參數(shù)。

  Unique:表示唯一索引。

  Sparse:表示稀疏索引.

  dropDups:當(dāng)索引字段中存在重復(fù)值時(shí),強(qiáng)制刪除重復(fù)的文檔,該參數(shù)會(huì)丟失數(shù)據(jù),不建議使用該參數(shù).

(4)hint({}):強(qiáng)制使用某個(gè)鍵值(索引)

下面實(shí)例中,從執(zhí)行計(jì)劃可以看出,強(qiáng)制使用索引了。

mongodb 索引相關(guān)

(5).刪除索引:db.collection.dropIndexes() ,db.collection.dropIndex(index)

  db.collection.dropIndexes():刪除集合下面的所有索引.

mongodb 索引相關(guān)

集合test下面已經(jīng)沒(méi)有可刪除的索引,_id_ 是系統(tǒng)自帶的索引,無(wú)法手動(dòng)刪除.

  db.collection.dropIndex(index_name):刪除指定索引

  mongodb 索引相關(guān)

(6).當(dāng)索引效率低下的時(shí)候(可能是碎片較多),就需要重建索引了。db.test.reIndex() 。

  db.test.reIndex():重建索引

mongodb 索引相關(guān)

重建單個(gè)索引或是 集合下的所有索引。

4.執(zhí)行計(jì)劃解讀:

正確解讀一個(gè)查詢的執(zhí)行計(jì)劃是優(yōu)化查詢的第一步,所以必須準(zhǔn)確的讀懂查詢的執(zhí)行計(jì)劃:

mongodb 索引相關(guān)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)頁(yè)名稱:mongodb索引相關(guān)-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/jeojo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部