久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么在MongoDB中創(chuàng)建索引

共計(jì) 1379 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。

自動(dòng)寫代碼機(jī)器人,免費(fèi)開通

這期內(nèi)容當(dāng)中丸趣 TV 小編將會(huì)給大家?guī)碛嘘P(guān)怎么在 MongoDB 中創(chuàng)建索引,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

MongoDB 創(chuàng)建索引的語法

1. 為普通字段添加索引,并且為索引命名

db. 集合名.createIndex({ 字段名 : 1},{name : idx_字段名})

說明:(1)索引命名規(guī)范:idx_ 構(gòu)成索引的字段名。如果字段名字過長(zhǎng),可采用字段縮寫。

(2)字段值后面的 1 代表升序;如是 -1 代表 降序。

2. 為內(nèi)嵌字段添加索引

db. 集合名.createIndex({字段名. 內(nèi)嵌字段名 :1},{name : idx_字段名_內(nèi)嵌字段名})

3. 通過后臺(tái)創(chuàng)建索引

db. 集合名.createIndex({字段名 :1},{name : idx_字段名 ,background:true})

4: 組合索引

db. 集合名.createIndex({字段名 1 :-1, 字段名 2 :1},{name : idx_字段名 1_字段名 2 ,background:true})

5. 設(shè)置 TTL 索引

db. 集合名.createIndex({ 字段名 : 1},{name : idx_字段名 ,expireAfterSeconds: 定義的時(shí)間,background:true} )

說明:expireAfterSeconds 為過期時(shí)間(單位秒)

MongoDB 創(chuàng)建索引性能提升 1000 倍

上面我們介紹了 MongoDB 的常見索引的創(chuàng)建語法。部分同學(xué)還想看看 MongoDB 的威力到底有多大,所以,在這兒追加一個(gè)例子,感受一下索引的性能。

通過在某一字段上創(chuàng)建索引,從優(yōu)化前的執(zhí)行 15.15S 到優(yōu)化后降至 0.013S,性能提升了 1000 多倍。

此為實(shí)際生產(chǎn)中的一個(gè)真實(shí)案例,我們有一個(gè)集合 QQStatements,其數(shù)據(jù)量為 2604W,如下圖所示。

怎么在 MongoDB 中創(chuàng)建索引

系統(tǒng)需要查詢此表最近的變動(dòng)情況,即需要抓取新增數(shù)據(jù)量和修改的數(shù)據(jù)量。

查詢語句如下:

db.QQStatements.find({
 $or:
 [ {Rec_CreateTime:{$gt: ISODate( 2019-01-07 16)}}
 ,{Rec_ModifyTime:{$gt: ISODate( 2019-01-07 16)}}
 ]
 
} )

但此查詢語句不理想,有時(shí)耗時(shí) 25S, 多次執(zhí)行有緩存后也要 15S 左右,如下圖:

怎么在 MongoDB 中創(chuàng)建索引

查看此表,發(fā)現(xiàn) Rec_CreateTime 字段建有索引,單獨(dú)執(zhí)行符合 Rec_CreateTime 條件的語句,很快 0.1 S 內(nèi)就執(zhí)行完成。

怎么在 MongoDB 中創(chuàng)建索引

而 Rec_ModifyTime 字段沒有索引,單獨(dú)執(zhí)行符合 Rec_ModifyTime 條件的語句較慢,需要 15S 左右。

怎么在 MongoDB 中創(chuàng)建索引

到這兒,就可以判讀出問題是缺失索引,和開發(fā)同學(xué)確認(rèn)后,此場(chǎng)景時(shí)常用,此字段需要添加索引。

執(zhí)行添加索引的命令:

db.QQStatements.createIndex({Rec_ModifyTime :1},{name : idx_Rec_ModifyTime ,background:true})

Rec_ModifyTime 字段添加索引后,整個(gè)語句執(zhí)行降至 0.013S(20S– 0.02S)

怎么在 MongoDB 中創(chuàng)建索引

上述就是丸趣 TV 小編為大家分享的怎么在 MongoDB 中創(chuàng)建索引了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

向 AI 問一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計(jì)1379字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 莒南县| 尼木县| 吴川市| 三门县| 永和县| 朝阳县| 洪湖市| 封开县| 永寿县| 龙川县| 小金县| 台山市| 宁武县| 河间市| 乌审旗| 阿瓦提县| 贡嘎县| 武鸣县| 新疆| 顺平县| 凭祥市| 伊金霍洛旗| 亳州市| 大英县| 文化| 顺平县| 泊头市| 卓尼县| 那曲县| 邹平县| 定安县| 湘乡市| 铜山县| 海伦市| 诸暨市| 余姚市| 永春县| 墨脱县| 剑河县| 甘南县| 棋牌|