国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

為什么會出現索引膨脹

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

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

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

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

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

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

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

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

殺死索引條目

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

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

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

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

案例

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

測試表:

image.png

Pgbench名為bench.sql的腳本:

image.png

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

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

比較測試結果

我們使用pgstattuple擴展來獲取psql 的索引統計信息:

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及之后版本創建的索引后會自動公眾。但之前版本創建的索引,需要REINDEX后獲益。記住,pg_upgrade僅拷貝索引文件,不會更改內部索引版本。

總結

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

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

    關注

    13

    文章

    4791

    瀏覽量

    90065
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1399

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MySQL慢查詢分析與索引調優全流程

    MySQL 性能問題在生產環境中的表現通常是漸進式的:業務量增長、數據量膨脹,某天突然發現 P99 響應時間從 50ms 漲到 2s。慢查詢是最常見的根因,而索引設計不合理又是慢查詢的主要來源。
    的頭像 發表于 03-06 15:56 ?68次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    鍋爐在線膨脹監測系統:技術創新與應用實踐

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

    鍋爐在線膨脹監測系統:電站設備維護與安全管理

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

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

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

    華納云香港服務器數據庫索引優化策略

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

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

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

    透平膨脹機遠程監控物聯網解決方案

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

    膨脹系數測試

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