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

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

openGauss的SQL引擎在3.1.0版本中做了哪些優(yōu)化?

2022-10-17 15:07 作者:Gauss松鼠會  | 我要投稿

查詢執(zhí)行能力對數(shù)據(jù)庫來說至關(guān)重要,這直接決定了查詢語句生成的執(zhí)行計(jì)劃以何種方式進(jìn)行執(zhí)行,如果哪個(gè)執(zhí)行算子的執(zhí)行表現(xiàn)不好,將會對數(shù)據(jù)庫的整體性能產(chǎn)生極大的影響。同時(shí),執(zhí)行算子的實(shí)現(xiàn)也極大考驗(yàn)一款數(shù)據(jù)庫的工程實(shí)現(xiàn)能力。為此,openGauss數(shù)據(jù)庫在3.1.0版本中,進(jìn)一步優(yōu)化了當(dāng)前的部分執(zhí)行算子,并希望通過優(yōu)化執(zhí)行算子的實(shí)現(xiàn),來提高數(shù)據(jù)庫的整體表現(xiàn)。下面介紹一下在該版本中,openGauss數(shù)據(jù)庫都做了哪些SQL引擎的優(yōu)化。

分區(qū)表頁面估算優(yōu)化

目前分區(qū)表的統(tǒng)計(jì)信息,代價(jià)模型使用的是普通表的機(jī)制,由于分區(qū)表和普通表結(jié)構(gòu)上的不同,所以不能完全依賴普通表的機(jī)制去處理分區(qū)表的代價(jià)問題。由于分區(qū)表存在天然的分區(qū)優(yōu)勢,所以在分區(qū)剪枝的情況下,SQL語句在查詢過程中不會訪問所有分區(qū)。對于分區(qū)存在剪枝的場景,分區(qū)表頁面統(tǒng)計(jì)時(shí)就不能單純的統(tǒng)計(jì)所有分區(qū)的頁面。在剪枝場景下只需要統(tǒng)計(jì)剪枝后的分區(qū)頁面數(shù)即可。由于目前分區(qū)表沒有統(tǒng)計(jì)每個(gè)分區(qū)的頁面數(shù),因此基于均勻性假設(shè)(分區(qū)頁面不傾斜),用以下公式估算分區(qū)頁面數(shù):

剪枝后分區(qū)頁面數(shù) = 分區(qū)表總頁面數(shù) * (剪枝后分區(qū)數(shù) / 總分區(qū)數(shù))

通過改進(jìn)分區(qū)表頁面的估算方法,可以優(yōu)化數(shù)據(jù)庫的表掃描性能,從而提升數(shù)據(jù)庫在分區(qū)表場景中的執(zhí)行表現(xiàn)。該特性可通過GUC參數(shù)partition_page_estimation控制。

Partition Iterator算子優(yōu)化

在openGauss數(shù)據(jù)庫中,分區(qū)表是依靠分區(qū)迭代算子進(jìn)行分區(qū)掃描的,迭代算子控制每一個(gè)分區(qū)依次掃描數(shù)據(jù)。當(dāng)分區(qū)剪枝結(jié)果只有一個(gè)分區(qū)時(shí),迭代算子已經(jīng)失去了迭代器的作用,在此情況下消除迭代算子,可以避免執(zhí)行時(shí)迭代算子計(jì)算的開銷。由于執(zhí)行器的pipeline架構(gòu),迭代算子會被重復(fù)執(zhí)行,在數(shù)據(jù)量比較大的場景下消除迭代算子的收益將十分可觀。故在該版本中,我們通過對迭代算子進(jìn)行改進(jìn),消除分區(qū)掃描時(shí)的overhead,進(jìn)而提升數(shù)據(jù)庫在該場景下的執(zhí)行性能。該特性可通過GUC參數(shù)partition_iterator_elimination控制。

SeqScan算子優(yōu)化

開啟該優(yōu)化,當(dāng)用戶不采集cpu信息時(shí)(例如explain cpu off),關(guān)閉cpu信息采集功能(例如執(zhí)行CPUUsageGetCurrent函數(shù)),從而減少cpu執(zhí)行周期。該特性不影響正常的cpu信息采集,相關(guān)監(jiān)控視圖和系統(tǒng)函數(shù)不受影響。同時(shí),從磁盤讀取數(shù)據(jù)時(shí),優(yōu)化mdread機(jī)制,減少冗余的checksum檢查,進(jìn)而通過消除無用的操作來提升數(shù)據(jù)庫性能。該特性可通過GUC參數(shù)enable_seqscan_fusion控制。

上面的三個(gè)方面是該版本對openGauss數(shù)據(jù)庫的SQL引擎的優(yōu)化,后續(xù)我們還會對更多的openGauss數(shù)據(jù)庫內(nèi)部執(zhí)行邏輯進(jìn)行優(yōu)化,敬請關(guān)注。


openGauss的SQL引擎在3.1.0版本中做了哪些優(yōu)化?的評論 (共 條)

分享到微博請遵守國家法律
大英县| 焦作市| 冕宁县| 察隅县| 揭东县| 诸城市| 封丘县| 平湖市| 定襄县| 虎林市| 乐业县| 望江县| 宁武县| 武山县| 兴文县| 石城县| 文安县| 安多县| 舟山市| 襄垣县| 双柏县| 义马市| 大城县| 虎林市| 龙泉市| 登封市| 巴里| 金坛市| 保德县| 嘉善县| 迭部县| 湛江市| 西城区| 马山县| 阿巴嘎旗| 辛集市| 鄂托克旗| 绵阳市| 墨脱县| 乡城县| 城步|