openGauss學(xué)習(xí)筆記-198 openGauss 數(shù)據(jù)庫(kù)運(yùn)維-常見故障定位案例-分析查詢效率異常降低的問題
198.1 分析查詢效率異常降低的問題
198.1.1 問題現(xiàn)象
通常在幾十毫秒內(nèi)完成的查詢,有時(shí)會(huì)突然需要幾秒的時(shí)間完成;而通常需要幾秒完成的查詢,有時(shí)需要半小時(shí)才能完成。
198.1.2 處理辦法
通過下列的操作步驟,分析查詢效率異常降低的原因。
-
使用analyze命令分析數(shù)據(jù)庫(kù)。
使用analyze命令會(huì)更新所有表中數(shù)據(jù)大小以及屬性等相關(guān)統(tǒng)計(jì)信息,建議在作業(yè)壓力較小時(shí)執(zhí)行。如果此命令執(zhí)行后性能恢復(fù)或者有所提升,則表明autovacuum未能很好的完成它的工作,有待進(jìn)一步分析。
-
檢查查詢語句是否返回了多余的數(shù)據(jù)信息。
例如,如果查詢語句先查詢一個(gè)表中所有的記錄,而只用到結(jié)果中的前10條記錄。對(duì)于包含50條記錄的表,查詢速度較快;但是,當(dāng)表中包含的記錄數(shù)達(dá)到50000條,查詢效率將會(huì)有所下降。如果業(yè)務(wù)應(yīng)用中存在只需要部分?jǐn)?shù)據(jù)信息,但是查詢語句卻是返回所有信息的情況,建議修改查詢語句,增加LIMIT子句來限制返回的記錄數(shù)。這樣使數(shù)據(jù)庫(kù)優(yōu)化器有了一定的優(yōu)化空間,一定程度上會(huì)提升查詢效率。
-
檢查查詢語句單獨(dú)運(yùn)行時(shí)是否仍然較慢。
嘗試在數(shù)據(jù)庫(kù)沒有其他查詢或查詢較少的時(shí)候運(yùn)行查詢語句,并觀察運(yùn)行效率。如果效率較高,則說明可能是由于之前運(yùn)行數(shù)據(jù)庫(kù)系統(tǒng)的主機(jī)負(fù)載過大導(dǎo)致查詢低效。此外,還可能是由于執(zhí)行計(jì)劃比較低效,但是由于主機(jī)硬件較快使得查詢效率較高。
-
檢查重復(fù)相同查詢語句的執(zhí)行效率。
查詢效率低的一個(gè)重要原因是查詢所需信息沒有緩存在內(nèi)存中,這可能是由于內(nèi)存資源緊張,導(dǎo)致緩存信息被其他查詢處理覆蓋。重復(fù)執(zhí)行相同的查詢語句,如果后續(xù)執(zhí)行的查詢語句效率提升,則可能是由于上述原因?qū)е隆?/p>
?? 點(diǎn)贊,你的認(rèn)可是我創(chuàng)作的動(dòng)力!
?? 收藏,你的青睞是我努力的方向!
?? 評(píng)論,你的意見是我進(jìn)步的財(cái)富!文章來源:http://www.zghlxwxcb.cn/news/detail-793441.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-793441.html
到了這里,關(guān)于openGauss學(xué)習(xí)筆記-198 openGauss 數(shù)據(jù)庫(kù)運(yùn)維-常見故障定位案例-分析查詢效率異常降低的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!