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

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

MongoDB索引管理的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)MongoDB索引管理的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

澄城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

索引是提高查詢查詢效率最有效的手段。索引是一種特殊的數(shù)據(jù)結(jié)構(gòu),索引以易于遍歷的形式存儲了數(shù)據(jù)的部分內(nèi)容(如:一個(gè)特定的字段或一組字段值),索引會按一定規(guī)則對存儲值進(jìn)行排序,而且索引的存儲位置在內(nèi)存中,所在從索引中檢索數(shù)據(jù)會非???。如果沒有索引,MongoDB必須掃描集合中的每一個(gè)文檔,這種掃描的效率非常低,尤其是在數(shù)據(jù)量較大時(shí)。

1. 創(chuàng)建/重建索引

MongoDB全新創(chuàng)建索引使用ensureIndex()方法,對于已存在的索引可以使用reIndex()進(jìn)行重建。

1.1 創(chuàng)建索引ensureIndex()

MongoDB創(chuàng)建索引使用ensureIndex()方法。

語法結(jié)構(gòu)

db.COLLECTION_NAME.ensureIndex(keys[,options])

keys,要建立索引的參數(shù)列表。如:{KEY:1},其中key表示字段名,1表示升序排序,也可使用使用數(shù)字-1降序。
options,可選參數(shù),表示建立索引的設(shè)置??蛇x值如下:
background,Boolean,在后臺建立索引,以便建立索引時(shí)不阻止其他數(shù)據(jù)庫活動。默認(rèn)值 false。
unique,Boolean,創(chuàng)建唯一索引。默認(rèn)值 false。
name,String,指定索引的名稱。如果未指定,MongoDB會生成一個(gè)索引字段的名稱和排序順序串聯(lián)。
dropDups,Boolean,創(chuàng)建唯一索引時(shí),如果出現(xiàn)重復(fù)刪除后續(xù)出現(xiàn)的相同索引,只保留第一個(gè)。
sparse,Boolean,對文檔中不存在的字段數(shù)據(jù)不啟用索引。默認(rèn)值是 false。
v,index version,索引的版本號。
weights,document,索引權(quán)重值,數(shù)值在 1 到 99,999 之間,表示該索引相對于其他索引字段的得分權(quán)重。

如,為集合sites建立索引:

> db.sites.ensureIndex({name: 1, domain: -1})
{
 "createdCollectionAutomatically" : false,
 "numIndexesBefore" : 1,
 "numIndexesAfter" : 2,
 "ok" : 1
}

注意:1.8版本之前創(chuàng)建索引使用createIndex(),1.8版本之后已移除該方法

1.2 重建索引reIndex()

db.COLLECTION_NAME.reIndex()

如,重建集合sites的所有索引:

> db.sites.reIndex()
{
 "nIndexesWas" : 2,
 "nIndexes" : 2,
 "indexes" : [
  {
  "key" : {
 "_id" : 1
  },
  "name" : "_id_",
 "ns" : "newDB.sites"
 },
 {
  "key" : {
 "name" : 1,
 "domain" : -1
  },
  "name" : "name_1_domain_-1",
  "ns" : "newDB.sites"
 }
 ],
 "ok" : 1
}

2. 查看索引

MongoDB提供了查看索引信息的方法:getIndexes()方法可以用來查看集合的所有索引,totalIndexSize()查看集合索引的總大小,db.system.indexes.find()查看數(shù)據(jù)庫中所有索引信息。

2.1 查看集合中的索引getIndexes()

db.COLLECTION_NAME.getIndexes()

如,查看集合sites中的索引:

>db.sites.getIndexes()
[
 {
 "v" : 1,
 "key" : {
  "_id" : 1
 },
 "name" : "_id_",
 "ns" : "newDB.sites"
 },
 {
 "v" : 1,
 "key" : {
  "name" : 1,
  "domain" : -1
 },
 "name" : "name_1_domain_-1",
 "ns" : "newDB.sites"
 }
]

2.2 查看集合中的索引大小totalIndexSize()

db.COLLECTION_NAME.totalIndexSize()

如,查看集合sites索引大小:

> db.sites.totalIndexSize()
16352

2.3 查看數(shù)據(jù)庫中所有索引db.system.indexes.find()

db.system.indexes.find()

如,當(dāng)前數(shù)據(jù)庫的所有索引:

> db.system.indexes.find()

3. 刪除索引

不在需要的索引,我們可以將其刪除。刪除索引時(shí),可以刪除集合中的某一索引,可以刪除全部索引。

3.1 刪除指定的索引dropIndex()

db.COLLECTION_NAME.dropIndex("INDEX-NAME")

如,刪除集合sites中名為"name_1_domain_-1"的索引:

> db.sites.dropIndex("name_1_domain_-1")
{ "nIndexesWas" : 2, "ok" : 1 }

3.3 刪除所有索引dropIndexes()

db.COLLECTION_NAME.dropIndexes()

如,刪除集合sites中所有的索引:

> db.sites.dropIndexes()
{
 "nIndexesWas" : 1,
 "msg" : "non-_id indexes dropped for collection",
 "ok" : 1
}

感謝各位的閱讀!關(guān)于“MongoDB索引管理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

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


當(dāng)前題目:MongoDB索引管理的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://weahome.cn/article/dojjih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部