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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

為什么會出現索引膨脹

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

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

1) 對于索引范圍掃描,必須掃描更多的頁

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

3) 每個頁中更少的索引條目意味著更少的“fan out”,索引樹的層級將更高

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

當前用于改善索引膨脹和性能的特性HOT元組

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

殺死索引條目

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

PG14如何進一步減少索引膨脹

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

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

案例

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

測試表:

image.png

Pgbench名為bench.sql的腳本:

image.png

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

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

比較測試結果

我們使用pgstattuple擴展來獲取psql 的索引統(tǒng)計信息:

image.png

這是我們在 v13 中得到的:

image.png

對于 v14,結果是:

image.png

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

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

索引testtab_changed_idx無法從新特性中獲益。因為這進解決了UPDATE不修改索引值的情況。如果想知道為什么testtab_unchanged_idx葉子密度比13低:刪除了索引重復數據。

Pg_upgrade后我們可以使用這項功能嗎?

索引的存儲格式沒有變,所以pg_upgrade PG12及之后版本創(chuàng)建的索引后會自動公眾。但之前版本創(chuàng)建的索引,需要REINDEX后獲益。記住,pg_upgrade僅拷貝索引文件,不會更改內部索引版本。

總結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4790

    瀏覽量

    90058
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1399

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    英飛凌BGS18GA14 SP8T分集天線開關:特性與應用解析

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

    如何解決太誘電感與PCB熱膨脹系數不匹配問題?

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

    負熱膨脹材料的發(fā)展與未來:ULTEA? 背后的技術演進

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

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

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

    如何解決激光雷達點云中“鬼影”和“膨脹”問題?

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

    KIT_XMC14_2GO開發(fā)板:功能特性與硬件解析

    KIT_XMC14_2GO開發(fā)板:功能特性與硬件解析 在電子開發(fā)領域,一款性能出色且功能豐富的開發(fā)板對于工程師來說至關重要。今天,我們就來詳細探討一下KIT_XMC14_2GO開發(fā)板,它配備了英飛凌
    的頭像 發(fā)表于 12-19 10:20 ?445次閱讀

    探究THVD14x9(V) RS-485收發(fā)器:特性、應用與設計要點

    探究THVD14x9(V) RS-485收發(fā)器:特性、應用與設計要點 在工業(yè)自動化、樓宇自動化以及電網基礎設施等領域,可靠的數據傳輸至關重要。RS - 485通信標準憑借其長距離、多節(jié)點和抗干擾
    的頭像 發(fā)表于 12-17 09:25 ?397次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

    透平膨脹機遠程監(jiān)控物聯(lián)網解決方案

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

    膨脹系數測試

    膨脹系數測試是材料科學領域內一項至關重要的實驗技術。熱膨脹系數測試的原理熱膨脹系數是衡量材料在溫度變化時尺寸(長度或體積)相對變化量的物理指標,具體定義為:當溫度升高1K時,材料尺寸相對于其原始
    的頭像 發(fā)表于 04-08 17:57 ?2380次閱讀
    熱<b class='flag-5'>膨脹</b>系數測試