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

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

【MongoDB學習筆記23】MongoDB的索引對象和數(shù)組

MongoDB允許深入文檔內(nèi)部,對嵌套字段和數(shù)組建立索引;嵌套對象和數(shù)組字段可以和復合索引中的頂級字段一起使用,多數(shù)情況下與“正常”索引字段的行為也是一致的。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比淇縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式淇縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋淇縣地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

 

一、索引嵌套文檔

例如,集合中的文檔如下格式,

> db.post.findOne({"username":"sid"})   
{    
    "_id" : ObjectId("54aff7f43bd1048e7b585e39"),    
    "username" : "sid",    
    "loc" : {    
        "ip" : "1.2.3.4",    
        "city" : "springfield",    
        "state" : "ny"    
    }    
}    
>

需要在“l(fā)oc”的city上建立索引來提高這個loc.city字段的查詢速度:

> db.post.ensureIndex({"loc.city":1})   
{    
    "createdCollectionAutomatically" : false,    
    "numIndexesBefore" : 1,    
    "numIndexesAfter" : 2,    
    "ok" : 1    
}    
>

利用這種方式可以建立任意深度的索引,例如可以在X.Y.Z.A.B.C上建立索引。

但是,針對子文檔“l(fā)oc”上建立的索引,和建立在子文檔的某個字段“l(fā)oc.city”上的索引是不同的:

(1)對整個子文檔上建立的索引,只會提高整個子文檔的的查詢速度;也就是說只有在完全匹配子文檔的查詢(包括字段順序),子文檔索引才會起作用;

(2)只有查詢loc.city字段,索引loc.city才會起作用,其他情況索引loc.city不起作用;

 

二、數(shù)組上的索引

(1)可以看得出在數(shù)組字段上建立索引的代價比較大,因為每次的刪除,更新都會對每一個索引進行刷新,太消耗

同樣,只有精確匹配comment.10.votes查詢,上述索引才會起到索引的作用。

 

三、多鍵索引

如果在數(shù)組字段上創(chuàng)建索引,那么這個索引稱為多鍵索引( multikey)。

多鍵索引用explain函數(shù)中可以看到“isMultikey”字段的值為true,多鍵索引比非多鍵索引要慢一些;


網(wǎng)站題目:【MongoDB學習筆記23】MongoDB的索引對象和數(shù)組
鏈接URL:
http://weahome.cn/article/ggeepo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部