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

MongoDB創(chuàng)建一個索引而性能提升1000倍示例代碼

 更新時間:2019年01月11日 09:34:57   作者:東山絮柳仔  
這篇文章主要給大家介紹了關于如何在MongoDB中創(chuàng)建一個索引而性能提升1000倍的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

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

說明: (1)索引命名規(guī)范:idx_<構成索引的字段名>。如果字段名字過長,可采用字段縮寫。

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

2.為內嵌字段添加索引

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

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

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

4:組合索引

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

5.設置TTL 索引

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

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

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

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

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

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

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

查詢語句如下:

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

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

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

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

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

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

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

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

從上面可以看出在MongoDB數(shù)據庫中索引很有必要,性能可以優(yōu)化數(shù)百倍。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • mongodb字段值自增長實現(xiàn)代碼

    mongodb字段值自增長實現(xiàn)代碼

    這篇文章主要介紹了mongodb字段值自增長實現(xiàn),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • MongoDB數(shù)據庫查看慢查詢級別以及慢查詢日志

    MongoDB數(shù)據庫查看慢查詢級別以及慢查詢日志

    最近項目上一直在用mongodb作為數(shù)據庫,mongodb有他的優(yōu)勢,文檔型類json格式存儲數(shù)據,修改起來更方便,但是最近在用mongodb出現(xiàn)了查詢緩慢的問題,這篇文章主要給大家介紹了關于MongoDB數(shù)據庫查看慢查詢級別以及慢查詢日志的相關資料,需要的朋友可以參考下
    2023-05-05
  • MongoDB數(shù)據庫的安裝步驟

    MongoDB數(shù)據庫的安裝步驟

    MongoDB 是一個介于關系數(shù)據庫和非關系數(shù)據庫之間的產品,是非關系數(shù)據庫當中功能最豐富,最像關系數(shù)據庫的。本文簡單介紹下MongoDB數(shù)據庫的安裝
    2021-06-06
  • 阿里云服務器安裝mongodb的方法

    阿里云服務器安裝mongodb的方法

    這篇文章主要介紹了阿里云服務器安裝mongodb的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • MongoDB 常用命令總結

    MongoDB 常用命令總結

    Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現(xiàn)類似關系數(shù)據庫單表查詢的絕大部分功能,而且還支持對數(shù)據建立索引。Mongo還可以解決海量數(shù)據的查詢效率,當數(shù)據量達到50GB以上時,Mongo數(shù)據庫訪問速度是MySQL10 倍以上
    2015-05-05
  • Mongodb數(shù)據庫的備份與恢復操作實例

    Mongodb數(shù)據庫的備份與恢復操作實例

    這篇文章主要介紹了Mongodb數(shù)據庫的備份與恢復操作實例,本文講解使用命令在控制臺執(zhí)行實現(xiàn)Mongodb的備份與恢復操作,需要的朋友可以參考下
    2015-01-01
  • 基于MongoDB數(shù)據庫的數(shù)據類型和$type操作符詳解

    基于MongoDB數(shù)據庫的數(shù)據類型和$type操作符詳解

    下面小編就為大家?guī)硪黄贛ongoDB數(shù)據庫的數(shù)據類型和$type操作符詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • MongoDB查詢與游標之分布式文件存儲

    MongoDB查詢與游標之分布式文件存儲

    這篇文章主要介紹了MongoDB的查詢與游標,查詢就是返回集合中文檔的一個子集,子集的范圍從0個文檔到整個集合;游標的客戶端實現(xiàn)通常能夠在很大程度上對查詢的最終輸出進行控制;感興趣的同學可以參考閱讀
    2023-04-04
  • MongoDB的啟動方法詳細總結

    MongoDB的啟動方法詳細總結

    MongoDB是一個基于分布式文件存儲的數(shù)據庫,下面這篇文章主要給大家介紹了關于MongoDB啟動方法的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)

    MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)

    本文給大家分享兩種解決方案解決MongoDB用Mongoose得到的對象不能增加屬性問題,本文給大家介紹的非常詳細,需要的朋友參考下吧
    2017-11-11

最新評論