91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PostgreSQL 14新特性:減少索引膨脹

li5236 ? 來(lái)源:yzsDBA ? 作者:yzsDBA ? 2022-03-29 15:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PostgreSQL 14新特性--減少索引膨脹

PG12中索引的存儲(chǔ)更加高效,PG13添加索引條目去重功能進(jìn)一步提升存儲(chǔ)效率。PG14將帶來(lái)“自底向上”的索引條目去除功能,旨在減少不必要的頁(yè)面分裂、索引膨脹和更新大量索引帶來(lái)的碎片。

為什么會(huì)出現(xiàn)索引膨脹

對(duì)于B-tree索引,表中每個(gè)行版本都有一個(gè)未死的索引條目(對(duì)所有人可見(jiàn))。執(zhí)行vacuum刪除死記錄時(shí),也會(huì)刪除對(duì)應(yīng)的索引條目。和表一樣,同樣會(huì)在索引頁(yè)中創(chuàng)建空的空間。這樣的空間可以重用,但是如果沒(méi)有新元組插入該頁(yè),這樣的空間會(huì)保持為空。

這種膨脹在某種程度上是不可避免的,也是正常的。但如果膨脹太多,索引效率就會(huì)降低:

1) 對(duì)于索引范圍掃描,必須掃描更多的頁(yè)

2) RAM中緩存了索引頁(yè),意味著緩沖膨脹,就是浪費(fèi)了RAM

3) 每個(gè)頁(yè)中更少的索引條目意味著更少的“fan out”,索引樹(shù)的層級(jí)將更高

如果頻繁更新相同行,就會(huì)發(fā)生這種情況。VACUUM清理老元組前,表和索引會(huì)維護(hù)相同行的很多版本。如果索引頁(yè)填滿,將令人很煩:然后PG會(huì)將索引頁(yè)分裂成2個(gè)。這是一個(gè)昂貴的操作,VACUUM執(zhí)行完清理,我們最終會(huì)得到2個(gè)臃腫的頁(yè)面而不是一個(gè)。

當(dāng)前用于改善索引膨脹和性能的特性HOT元組

HOT元組的創(chuàng)建可能是PG對(duì)抗索引中不必要條目的強(qiáng)大武器。使用此功能UPDATE創(chuàng)建產(chǎn)生的元組不會(huì)被索引條目引用,它還會(huì)引用元組的老版本。通過(guò)這種方法,不需要?jiǎng)?chuàng)建新的索引條目,可以避免索引膨脹。

殺死索引條目

當(dāng)索引掃描遇到一個(gè)指向死元組的條目時(shí),標(biāo)記該條目“killed”。后續(xù)索引掃描會(huì)在VACUUM刪除他們之前跳過(guò)這些條目。此外,PG可以在索引頁(yè)面已滿時(shí)刪除這樣的條目,以避免頁(yè)分裂。

PG14如何進(jìn)一步減少索引膨脹

自下而上的索引元組刪除比之前方法更進(jìn)一步:他在索引頁(yè)分裂即將發(fā)生前就刪除指向死元組的索引條目。這可以減少索引條目的數(shù)量并避免昂貴的分裂,以及稍后VACUUM清理參數(shù)的膨脹。

在某種程度上,這執(zhí)行了之前VACUUM的部分公眾,在這點(diǎn)上可以避免索引膨脹。

案例

為了演示新功能效果,使用pgbench分別在PG13和14上執(zhí)行操作:

測(cè)試表:

image.png

Pgbench名為bench.sql的腳本:

image.png

我運(yùn)行腳本 60000 次(6 個(gè)客戶端 10000 次迭代),如下所示:

pgbench -n -c 6 -f bench.sql -t 10000 test

比較測(cè)試結(jié)果

我們使用pgstattuple擴(kuò)展來(lái)獲取psql 的索引統(tǒng)計(jì)信息:

image.png

這是我們?cè)?v13 中得到的:

image.png

對(duì)于 v14,結(jié)果是:

image.png

改進(jìn)最大的時(shí)testtab_unchanged_idx。在13中,索引膨脹嚴(yán)重,而在14中僅有60%的膨脹(這對(duì)索引來(lái)說(shuō)還不錯(cuò))。在這里我們看到了新功能的最大影響。UPDATE不掃掃描那個(gè)索引,因此沒(méi)有killed的索引條目,“自底向上的刪除”可以刪除足夠的這樣的條目避免分裂。

也可以衡量testtab_pkey。由于UPDATE掃描該索引,死的索引元組被killed,新特性在分裂前刪除這些元組。與13相比,效果不太明顯,因?yàn)?3已經(jīng)很好地避免索引膨脹了。

索引testtab_changed_idx無(wú)法從新特性中獲益。因?yàn)檫@進(jìn)解決了UPDATE不修改索引值的情況。如果想知道為什么testtab_unchanged_idx葉子密度比13低:刪除了索引重復(fù)數(shù)據(jù)。

Pg_upgrade后我們可以使用這項(xiàng)功能嗎?

索引的存儲(chǔ)格式?jīng)]有變,所以pg_upgrade PG12及之后版本創(chuàng)建的索引后會(huì)自動(dòng)公眾。但之前版本創(chuàng)建的索引,需要REINDEX后獲益。記住,pg_upgrade僅拷貝索引文件,不會(huì)更改內(nèi)部索引版本。

總結(jié)

PG14繼續(xù)改進(jìn)B-tree索引。這個(gè)特性雖不是革命性的,但有望為許多公眾負(fù)載提供改進(jìn)的性能,尤其是那些有大量更新的工作負(fù)載。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4798

    瀏覽量

    90083
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1399

    瀏覽量

    120610
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MySQL慢查詢分析與索引調(diào)優(yōu)全流程

    MySQL 性能問(wèn)題在生產(chǎn)環(huán)境中的表現(xiàn)通常是漸進(jìn)式的:業(yè)務(wù)量增長(zhǎng)、數(shù)據(jù)量膨脹,某天突然發(fā)現(xiàn) P99 響應(yīng)時(shí)間從 50ms 漲到 2s。慢查詢是最常見(jiàn)的根因,而索引設(shè)計(jì)不合理又是慢查詢的主要來(lái)源。
    的頭像 發(fā)表于 03-06 15:56 ?102次閱讀

    英飛凌BGS18GA14 SP8T分集天線開(kāi)關(guān):特性與應(yīng)用解析

    英飛凌BGS18GA14 SP8T分集天線開(kāi)關(guān):特性與應(yīng)用解析 在無(wú)線通信領(lǐng)域,天線開(kāi)關(guān)對(duì)于優(yōu)化信號(hào)傳輸和接收起著至關(guān)重要的作用。英飛凌的BGS18GA14 SP8T分集天線開(kāi)關(guān)就是一款性能卓越
    的頭像 發(fā)表于 01-31 16:05 ?659次閱讀

    如何解決太誘電感與PCB熱膨脹系數(shù)不匹配問(wèn)題?

    解決方案: 一、材料選擇:匹配CTE特性 低CTE基板材料 陶瓷基板 (如Al?O?、AlN):CTE僅為4-8 ppm/℃,與太誘電感(通常為陶瓷或金屬材質(zhì))CTE接近,可顯著降低熱應(yīng)力。 高Tg FR-4 :CTE為10-14 ppm/℃,耐高溫性優(yōu)于普通FR-4.適
    的頭像 發(fā)表于 01-28 17:41 ?125次閱讀
    如何解決太誘電感與PCB熱<b class='flag-5'>膨脹</b>系數(shù)不匹配問(wèn)題?

    負(fù)熱膨脹材料的發(fā)展與未來(lái):ULTEA? 背后的技術(shù)演進(jìn)

    負(fù)熱膨脹材料作為材料科學(xué)領(lǐng)域的重要分支,其發(fā)展歷程充滿了科學(xué)探索的突破與創(chuàng)新。從最初的實(shí)驗(yàn)室發(fā)現(xiàn)到如今的工業(yè)化應(yīng)用,這類材料的技術(shù)不斷演進(jìn),性能持續(xù)優(yōu)化。東亞合成研發(fā)的 ULTEA? 負(fù)熱膨脹填充劑
    的頭像 發(fā)表于 01-21 16:31 ?1147次閱讀
    負(fù)熱<b class='flag-5'>膨脹</b>材料的發(fā)展與未來(lái):ULTEA? 背后的技術(shù)演進(jìn)

    ULTEA?負(fù)熱膨脹填充劑全面解析:性能優(yōu)勢(shì)與行業(yè)應(yīng)用邏輯

    行業(yè)優(yōu)選,核心并非單一的負(fù)熱膨脹特性,而是其在耐熱性、安全性、化學(xué)穩(wěn)定性、兼容性等維度的綜合技術(shù)優(yōu)勢(shì)——這些性能相互協(xié)同、深度適配工業(yè)及電子領(lǐng)域的實(shí)操需求,而非簡(jiǎn)
    的頭像 發(fā)表于 01-21 16:28 ?670次閱讀
    ULTEA?負(fù)熱<b class='flag-5'>膨脹</b>填充劑全面解析:性能優(yōu)勢(shì)與行業(yè)應(yīng)用邏輯

    如何解決激光雷達(dá)點(diǎn)云中“鬼影”和“膨脹”問(wèn)題?

    [首發(fā)于智駕最前沿微信公眾號(hào)]之前在聊激光雷達(dá)點(diǎn)云“鬼影”和“膨脹”的文章中( 相關(guān)閱讀: 激光雷達(dá)點(diǎn)云中“鬼影”和“膨脹”是什么原因?qū)е碌??),很多小伙伴都提到一個(gè)問(wèn)題,那就是激光雷達(dá)點(diǎn)云中
    的頭像 發(fā)表于 01-02 09:30 ?389次閱讀
    如何解決激光雷達(dá)點(diǎn)云中“鬼影”和“<b class='flag-5'>膨脹</b>”問(wèn)題?

    探究THVD14x9(V) RS-485收發(fā)器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)

    探究THVD14x9(V) RS-485收發(fā)器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn) 在工業(yè)自動(dòng)化、樓宇自動(dòng)化以及電網(wǎng)基礎(chǔ)設(shè)施等領(lǐng)域,可靠的數(shù)據(jù)傳輸至關(guān)重要。RS - 485通信標(biāo)準(zhǔn)憑借其長(zhǎng)距離、多節(jié)點(diǎn)和抗干擾
    的頭像 發(fā)表于 12-17 09:25 ?406次閱讀

    破解熱管理難題:負(fù)熱膨脹材料ULTEA?為何是精密電子設(shè)計(jì)的“穩(wěn)定器”?

    正文:在追求更高性能、更小體積的電子行業(yè),熱管理一直是核心挑戰(zhàn)之一。傳統(tǒng)材料受熱膨脹特性,常常導(dǎo)致精密元器件產(chǎn)生應(yīng)力、翹曲甚至失效,成為產(chǎn)品可靠性的隱形殺手?,F(xiàn)在,這一難題有了全新的解決方案
    的頭像 發(fā)表于 11-27 16:22 ?678次閱讀
    破解熱管理難題:負(fù)熱<b class='flag-5'>膨脹</b>材料ULTEA?為何是精密電子設(shè)計(jì)的“穩(wěn)定器”?

    鍋爐在線膨脹監(jiān)測(cè)系統(tǒng):技術(shù)創(chuàng)新與應(yīng)用實(shí)踐

    ? 在現(xiàn)代電站運(yùn)行中, 鍋爐承壓部件的熱膨脹監(jiān)測(cè)是保障設(shè)備安全運(yùn)行的關(guān)鍵環(huán)節(jié)。 傳統(tǒng)監(jiān)測(cè)技術(shù)由于存在實(shí)時(shí)性不足、機(jī)械磨損導(dǎo)致精度下降等問(wèn)題,已難以滿足現(xiàn)代電站對(duì)安全性和可靠性的高要求。北京優(yōu)利威科
    的頭像 發(fā)表于 11-04 10:09 ?404次閱讀
    鍋爐在線<b class='flag-5'>膨脹</b>監(jiān)測(cè)系統(tǒng):技術(shù)創(chuàng)新與應(yīng)用實(shí)踐

    鍋爐在線膨脹監(jiān)測(cè)系統(tǒng):電站設(shè)備維護(hù)與安全管理

    在電站的復(fù)雜設(shè)備體系中,鍋爐作為核心動(dòng)力設(shè)備,其 運(yùn)行狀態(tài) 直接關(guān)系到電站的安全與效益。在鍋爐的運(yùn)行過(guò)程中,由于受熱不均等因素,各部件會(huì) 產(chǎn)生熱膨脹 。若膨脹情況未得到有效監(jiān)測(cè)和控制,可能引發(fā)一系列
    的頭像 發(fā)表于 10-29 10:26 ?325次閱讀
    鍋爐在線<b class='flag-5'>膨脹</b>監(jiān)測(cè)系統(tǒng):電站設(shè)備維護(hù)與安全管理

    Hudi系列:Hudi核心概念之索引(Indexs)

    上的Instant action操作類型 ?1.4 時(shí)間線上State狀態(tài)類型 ?1.5 時(shí)間線官網(wǎng)實(shí)例 ?二. 文件布局 ?三. 索引 3.1 簡(jiǎn)介 3.2 對(duì)比其它(Hive)沒(méi)有索引的區(qū)別 3.2
    的頭像 發(fā)表于 10-21 09:47 ?399次閱讀
    Hudi系列:Hudi核心概念之<b class='flag-5'>索引</b>(Indexs)

    華納云香港服務(wù)器數(shù)據(jù)庫(kù)索引優(yōu)化策略

    在香港服務(wù)器環(huán)境中,數(shù)據(jù)庫(kù)索引優(yōu)化是提升整體性能的關(guān)鍵因素。隨著企業(yè)數(shù)據(jù)量的不斷增長(zhǎng),高效的索引管理能顯著提高查詢速度并降低服務(wù)器負(fù)載。本文將深入探討如何針對(duì)香港服務(wù)器(特別是其獨(dú)特的地理和法律要求
    的頭像 發(fā)表于 10-16 17:06 ?534次閱讀

    aicube的n卡gpu索引該如何添加?

    請(qǐng)問(wèn)有人知道aicube怎樣才能讀取n卡的gpu索引呢,我已經(jīng)安裝了cuda和cudnn,在全局的py里添加了torch,能夠調(diào)用gpu,當(dāng)還是只能看到默認(rèn)的gpu0,顯示不了gpu1,gpu0是集顯,訓(xùn)練速度太感人了 你只有一塊英偉達(dá)的卡,aicube不支持AMD的顯卡,所以搜索到的只有一張卡
    發(fā)表于 07-25 08:18

    透平膨脹機(jī)遠(yuǎn)程監(jiān)控物聯(lián)網(wǎng)解決方案

    透平膨脹機(jī)是一種用于氣體膨脹和制冷的關(guān)鍵設(shè)備,廣泛應(yīng)用于低溫技術(shù)、空氣分離、天然氣液化等領(lǐng)域。它通過(guò)氣體在膨脹機(jī)內(nèi)的絕熱膨脹,消耗氣體的內(nèi)能,從而實(shí)現(xiàn)制冷和能量回收。這一過(guò)程不僅降低了
    的頭像 發(fā)表于 06-08 10:30 ?1199次閱讀
    透平<b class='flag-5'>膨脹</b>機(jī)遠(yuǎn)程監(jiān)控物聯(lián)網(wǎng)解決方案

    膨脹系數(shù)測(cè)試

    膨脹系數(shù)測(cè)試是材料科學(xué)領(lǐng)域內(nèi)一項(xiàng)至關(guān)重要的實(shí)驗(yàn)技術(shù)。熱膨脹系數(shù)測(cè)試的原理熱膨脹系數(shù)是衡量材料在溫度變化時(shí)尺寸(長(zhǎng)度或體積)相對(duì)變化量的物理指標(biāo),具體定義為:當(dāng)溫度升高1K時(shí),材料尺寸相對(duì)于其原始
    的頭像 發(fā)表于 04-08 17:57 ?2423次閱讀
    熱<b class='flag-5'>膨脹</b>系數(shù)測(cè)試