婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題

解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題

熱門標簽:施工地圖標注怎么做 百度地圖標注名編輯 怎么在高德地圖標注行走軌跡 百度地圖標注飯店位置怎么 個性化地圖標注在線 清遠陽山400電話號碼如何申請 安徽移動外呼系統(tǒng) 深圳400電話辦理那家好 襄陽房產(chǎn)電銷機器人招商

某一天,監(jiān)控到mongo數(shù)據(jù)庫cpu使用率高了很多,查了一下,發(fā)現(xiàn)是下面這種語句引起的:

db.example_collection.find({
 "idField" : 
{ "$regex" : "123456789012345678"
} ,
 "dateField" : 
{ "$regex" : "2019/10/10"
}})

通常,遇到這種情況,我第一反應(yīng)是缺少相關(guān)字段的索引,導(dǎo)致每執(zhí)行一次這種語句都會全表掃描一次。

但是我用explain( )語句分析了下,發(fā)現(xiàn)上面所涉及的兩個字段idField、dateField是有索引的,并且該語句也是有使用到索引的。如下為explain( )的結(jié)果:

mgset-11111111:PRIMARY> db.example_collection.find({ "idField" : { "$regex" : "123456789012345678"} , "dateField" : { "$regex" : "2019/10/10"}}).explain("queryPlanner")
{
    "queryPlanner" : {
        "plannerVersion" : 1,
        "namespace" : "example_db.example_collection",
        "indexFilterSet" : false,
        "parsedQuery" : {
            "$and" : [
                {
                    "idField" : {
                        "$regex" : "123456789012345678"
                    }
                },
                {
                    "dateField" : {
                        "$regex" : "2019/10/10"
                    }
                }
            ]
        },
        "winningPlan" : {
            "stage" : "FETCH",
            "inputStage" : {
                "stage" : "IXSCAN",
                "filter" : {
                    "$and" : [
                        {
                            "idField" : {
                                "$regex" : "123456789012345678"
                            }
                        },
                        {
                            "dateField" : {
                                "$regex" : "2019/10/10"
                            }
                        }
                    ]
                },
                "keyPattern" : {
                    "idField" : 1,
                    "dateField" : 1
                },
                "indexName" : "idField_1_dateField_1",
                "isMultiKey" : false,
                "multiKeyPaths" : {
                    "idField" : [ ],
                    "dateField" : [ ]
                },
                "isUnique" : false,
                "isSparse" : false,
                "isPartial" : false,
                "indexVersion" : 2,
                "direction" : "forward",
                "indexBounds" : {
                    "idField" : [
                        "[\"\", {})",
                        "[/123456789012345678/, /123456789012345678/]"
                    ],
                    "dateField" : [
                        "[\"\", {})",
                        "[/2019/10/10/, /2019/10/10/]"
                    ]
                }
            }
        },
        "rejectedPlans" : [ ]
    },
    "ok" : 1
}


查看mongo的日志發(fā)現(xiàn),這種語句執(zhí)行一次就要800~900ms,的確是比較慢。除非數(shù)據(jù)庫cpu核數(shù)很多,要不然只要這種語句每秒并發(fā)稍微高一點,cpu很快就被占滿了。

之后搜索了下,發(fā)現(xiàn)有可能是正則表達式的問題。原來,雖然該語句的確是使用了索引,但是explain( )語句的輸出中還有一個字段"indexBounds",表示執(zhí)行該語句時所需掃描的索引范圍。說實話,上面那個輸出中,我始終沒看明白它那個索引范圍。上面的語句對idField、dateField這兩個字段都進行了普通的正則表達式匹配,我猜測它應(yīng)該是掃描了整個索引樹,所以導(dǎo)致索引并未實際提升該語句的查詢效率。

我看了下數(shù)據(jù)庫里面的數(shù)據(jù),發(fā)現(xiàn)idField、dateField這兩個字段完全沒有必要進行正則匹配,進行普通的文本匹配就行。將正則匹配操作$regex去掉之后,再分析一下,結(jié)果是這樣的:

mgset-11111111:PRIMARY> db.example_collection.find({ "idField" : "123456789012345678", "dateField" : "2019/10/10"}).explain("queryPlanner")
{
    "queryPlanner" : {
        "plannerVersion" : 1,
        "namespace" : "example_db.example_collection",
        "indexFilterSet" : false,
        "parsedQuery" : {
            "$and" : [
                {
                    "idField" : {
                        "$eq" : "123456789012345678"
                    }
                },
                {
                    "dateField" : {
                        "$eq" : "2019/10/10"
                    }
                }
            ]
        },
        "winningPlan" : {
            "stage" : "FETCH",
            "inputStage" : {
                "stage" : "IXSCAN",
                "keyPattern" : {
                    "idField" : 1,
                    "dateField" : 1
                },
                "indexName" : "idField_1_dateField_1",
                "isMultiKey" : false,
                "multiKeyPaths" : {
                    "idField" : [ ],
                    "dateField" : [ ]
                },
                "isUnique" : false,
                "isSparse" : false,
                "isPartial" : false,
                "indexVersion" : 2,
                "direction" : "forward",
                "indexBounds" : {
                    "idField" : [
                        "[\"123456789012345678\", \"123456789012345678\"]"
                    ],
                    "dateField" : [
                        "[\"2019/10/10\", \"2019/10/10\"]"
                    ]
                }
            }
        },
        "rejectedPlans" : [ ]
    },
    "ok" : 1
}

可以看到,仍然使用到了索引,并且索引掃描范圍是僅限于一個值的。

后來跟開發(fā)人員確認了下,該語句確實沒必要使用正則匹配,就讓他把正則匹配去掉了。之后就沒有再出現(xiàn)問題了,mongo慢日志中也未再出現(xiàn)該語句。

總結(jié)

以上所述是小編給大家介紹的解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • 中文正則表達式匹配問題之正則表達式中文匹配使用方法
  • Python正則表達式匹配日期與時間的方法
  • Python正則表達式匹配數(shù)字和小數(shù)的方法
  • python字符串中匹配數(shù)字的正則表達式
  • Python正則表達式匹配和提取IP地址
  • 一個正則表達式導(dǎo)致CPU 利用率居高不下

標簽:南昌 臨夏 中衛(wèi) 欽州 駐馬店 黑河 阜陽 延邊

巨人網(wǎng)絡(luò)通訊聲明:本文標題《解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題》,本文關(guān)鍵詞  解決,正則,表示,式,匹配,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91在线视频播放| 国产精品一区一区三区| 亚洲精品在线一区二区| 波多野结衣亚洲一区| 天天综合日日夜夜精品| 中文字幕一区二区日韩精品绯色| 欧美日韩夫妻久久| 99在线热播精品免费| 国产呦精品一区二区三区网站| 一区二区三区产品免费精品久久75| 欧美mv日韩mv| 欧美日韩国产免费一区二区| 成年人国产精品| 九九精品一区二区| 日本午夜一本久久久综合| 一区二区三区四区高清精品免费观看| 久久人人超碰精品| 欧美日韩国产天堂| 欧美制服丝袜第一页| 91丨porny丨户外露出| 国产精品123区| 精品一区二区在线免费观看| 亚洲成av人片在线观看| 一区二区久久久| 亚洲视频免费在线观看| 精品一区二区三区免费| 日精品一区二区| 一区二区三区精密机械公司| 亚洲女同ⅹxx女同tv| 国产精品人人做人人爽人人添 | 欧美优质美女网站| 成人中文字幕电影| 高清不卡在线观看av| 国产91色综合久久免费分享| 国产真实乱对白精彩久久| 蓝色福利精品导航| 久久se精品一区二区| 看片的网站亚洲| 久国产精品韩国三级视频| 麻豆精品新av中文字幕| 韩国视频一区二区| 国内精品视频666| 国产成人免费视| 成人午夜又粗又硬又大| 91丨porny丨蝌蚪视频| 色噜噜狠狠一区二区三区果冻| 色综合夜色一区| 在线观看欧美精品| 91麻豆精品国产91久久久久久| 91麻豆精品国产91久久久久 | 日韩精品一区二区三区蜜臀| 日韩视频永久免费| 亚洲精品在线观看网站| 中文字幕乱码亚洲精品一区 | 国产精品88av| 成人精品免费视频| 色婷婷亚洲一区二区三区| 欧美三级中文字幕| 欧美一区国产二区| 国产无人区一区二区三区| 国产精品高潮久久久久无| 一区二区在线看| 丝袜a∨在线一区二区三区不卡| 美腿丝袜在线亚洲一区| 顶级嫩模精品视频在线看| 色综合久久久久综合体桃花网| 欧美精选在线播放| 免费日本视频一区| 国产精品自拍毛片| 色综合一区二区三区| 欧美一区二区黄| 国产清纯在线一区二区www| 综合分类小说区另类春色亚洲小说欧美 | 久久福利资源站| 成人app在线| 7777精品伊人久久久大香线蕉最新版| 久久综合九色综合欧美亚洲| 亚洲欧美另类图片小说| 久久99久久99| 在线观看网站黄不卡| 久久久三级国产网站| 一区二区三区国产| 国产成人精品免费在线| 欧美日韩精品一区视频| 欧美激情综合五月色丁香小说| 亚洲成av人片在线| 成人免费看视频| 日韩欧美国产一区二区三区| 亚洲人成精品久久久久久| 狠狠色丁香久久婷婷综合_中| 在线观看一区日韩| 国产欧美精品在线观看| 奇米在线7777在线精品| 在线观看国产一区二区| 欧美国产精品v| 蜜桃精品在线观看| 欧美性大战久久| 欧美国产日本视频| 免费看精品久久片| 欧美天堂亚洲电影院在线播放| 久久精品欧美一区二区三区不卡 | 一区二区日韩av| 成人黄色片在线观看| 日韩一区二区视频| 亚洲国产精品久久久久婷婷884| 成年人国产精品| 久久久久免费观看| 蜜臀久久久久久久| 欧美日韩精品二区第二页| 国产精品国产自产拍在线| 国产久卡久卡久卡久卡视频精品| 制服丝袜亚洲网站| 亚洲综合无码一区二区| a亚洲天堂av| 一区免费观看视频| 国产成+人+日韩+欧美+亚洲| 精品国产1区2区3区| 免费av成人在线| 欧美一级xxx| 奇米色777欧美一区二区| 777亚洲妇女| 偷偷要91色婷婷| 欧美日韩在线播放| 色婷婷久久久亚洲一区二区三区| 国产精品国产精品国产专区不片| 国产精品乡下勾搭老头1| 国产日韩精品一区| 成人免费视频一区| 亚洲欧洲成人自拍| 91日韩一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| a在线播放不卡| 亚洲黄色av一区| 91高清在线观看| 午夜精品成人在线视频| 欧美日本免费一区二区三区| 日韩电影一区二区三区四区| 欧美久久久久久久久| 日本中文在线一区| 精品日韩一区二区三区| 激情成人午夜视频| 久久久精品免费观看| 成人v精品蜜桃久久一区| 自拍偷自拍亚洲精品播放| 91麻豆高清视频| 亚洲成人av电影在线| 777久久久精品| 国产精品18久久久| 亚洲啪啪综合av一区二区三区| 欧美中文字幕一区二区三区| 日本三级亚洲精品| 久久久久久久久久电影| 91亚洲精品久久久蜜桃| 亚洲国产精品一区二区www| 日韩欧美一级精品久久| 国产99一区视频免费| 成人免费在线视频| 欧美剧情片在线观看| 国产精品一区二区三区四区| 亚洲欧美在线aaa| 欧美性猛交xxxx黑人交| 美女网站一区二区| 1024亚洲合集| 91精品国产一区二区三区香蕉| 日韩欧美激情一区| 成人黄色在线看| 视频一区二区国产| 国产欧美日韩在线观看| 欧美三区在线观看| 国产成人自拍高清视频在线免费播放| 亚洲啪啪综合av一区二区三区| 欧美一级xxx| 99国产精品视频免费观看| 免费在线观看成人| 亚洲人成亚洲人成在线观看图片| 日韩欧美激情在线| 色噜噜狠狠色综合欧洲selulu| 久久99久久99精品免视看婷婷 | 日韩欧美成人激情| 91在线视频网址| 九九精品一区二区| 亚洲一区中文日韩| 中文子幕无线码一区tr| 337p亚洲精品色噜噜噜| 成人aaaa免费全部观看| 另类调教123区| 亚洲伊人伊色伊影伊综合网| 欧美国产乱子伦| 日韩欧美在线123| 91久久奴性调教| 国产激情偷乱视频一区二区三区| 午夜精品123| 色素色在线综合| 国产一区二区三区av电影| 午夜影院在线观看欧美| 亚洲视频一区二区在线| 欧美国产日韩一二三区| 精品电影一区二区| 日韩精品专区在线影院观看| 欧美性xxxxxxxx|