五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

openGauss運(yùn)維能力之 SQLPatch 解密

2023-01-30 15:03 作者:Gauss松鼠會(huì)  | 我要投稿

對(duì)于相同的查詢語句而言,不同的查詢計(jì)劃帶來的性能差異可能達(dá)到幾個(gè)數(shù)量級(jí)的差異,其中較為顯著的包括:是否命中索引、查詢路徑的規(guī)劃、邏輯改寫規(guī)則的應(yīng)用、物理算子的選擇等。主流現(xiàn)代數(shù)據(jù)庫的計(jì)劃生成主要依賴基于統(tǒng)計(jì)信息的代價(jià)估算,而在統(tǒng)計(jì)信息頻繁跳變、數(shù)據(jù)傾斜、多表鏈接等復(fù)雜場(chǎng)景下,用戶常常需要使用Plan Hint對(duì)查詢計(jì)劃進(jìn)行固化。

Plan Hint是語句語法的一部分,當(dāng)前openGauss提供的能力包括指定基表掃描路徑和索引使用、Join的順序及其物理算子、指定結(jié)果集行數(shù)、指定語句級(jí)生效的GUC參數(shù)等。但在實(shí)際的生產(chǎn)業(yè)務(wù)中,直接修改語句使得Plan Hint生效的成本極大,需要對(duì)用戶業(yè)務(wù)升級(jí)并發(fā)新版本,導(dǎo)致問題響應(yīng)時(shí)間達(dá)到小時(shí)級(jí)。

openGauss自3.1.0版本引入了SQLPatch功能,能夠在避免直接修改業(yè)務(wù)語句,通過調(diào)用數(shù)據(jù)庫提供的接口,對(duì)指定的查詢語句模板進(jìn)行hint調(diào)優(yōu),從而大幅提高查詢計(jì)劃性能問題的解決效率。

在創(chuàng)建SQLPatch時(shí),用戶需要首先獲取目標(biāo)語句的唯一編號(hào)(unique SQL ID),這樣的好處時(shí)能夠在很大程度上提高SQL Patch的命中率,因?yàn)槲ㄒ痪幪?hào)在生成時(shí)會(huì)對(duì)綁定的參數(shù)變量以及硬編碼在語句條件中的常量參數(shù)進(jìn)行歸一化,從而忽視這些變量的不同。需要注意的是,語句唯一編號(hào)的生成過程需要使用到查詢語句的語義信息,因此即使是相同的語句在不同的數(shù)據(jù)庫之間也是不同的,而SQLPatch的生效范圍也是數(shù)據(jù)庫級(jí)別,需要用戶在業(yè)務(wù)庫中創(chuàng)建正確的SQLPatch才能夠正確地影響計(jì)劃。

SQLPatch會(huì)在被創(chuàng)建后即刻生效,并且會(huì)處理其對(duì)應(yīng)的計(jì)劃緩存使之失效并根據(jù)SQLPatch的內(nèi)容重新生成計(jì)劃,而在備機(jī)讀的場(chǎng)景下,主機(jī)創(chuàng)建SQLPatch的語句需要在日志同步到備機(jī)并回放后才能再備機(jī)上生效,因此可能存在一定的時(shí)間窗。

正確地使用SQLPatch可以將單次業(yè)務(wù)計(jì)劃調(diào)優(yōu)的任務(wù)量從業(yè)務(wù)升級(jí)降級(jí)為單條運(yùn)維語句,大大提升了運(yùn)維效率,但不建議業(yè)務(wù)長期依賴SQLPatch,最好在業(yè)務(wù)例行升級(jí)時(shí)將調(diào)優(yōu)語句固化到業(yè)務(wù)中,提升業(yè)務(wù)穩(wěn)定性。

場(chǎng)景示例:使用SQL-PATCH對(duì)特定語句進(jìn)行Hint調(diào)優(yōu)

通過上面的案例,我們可以看到SQLPatch功能可以很容易地改變SQL語句的執(zhí)行計(jì)劃,并且代價(jià)和成本極低,這為openGauss的使用帶來了一種更加便捷的方式。未來,我們還會(huì)在此基礎(chǔ)上演進(jìn)出更富有競(jìng)爭(zhēng)力的產(chǎn)品特性,歡迎大家關(guān)注。

openGauss運(yùn)維能力之 SQLPatch 解密的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
磐安县| 寿阳县| 清苑县| 神木县| 历史| 工布江达县| 甘孜| 潮州市| 阜新| 咸宁市| 湛江市| 临安市| 辰溪县| 哈巴河县| 济宁市| 嘉善县| 沙洋县| 调兵山市| 柞水县| 迭部县| 武强县| 江都市| 祁阳县| 垣曲县| 康马县| 白水县| 琼结县| 道孚县| 昭苏县| 承德县| 武穴市| 普洱| 伊川县| 渭源县| 偏关县| 广安市| 仁怀市| 阳西县| 泌阳县| 张家川| 驻马店市|