色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    4320

    瀏覽量

    85904
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1368

    瀏覽量

    114752
收藏 人收藏

    評論

    相關推薦

    更高精度、更低噪音 GMCC美芝電子膨脹閥以創新搶占行業“制高點”

    伴隨空調等暖通設備的應用日益廣泛,消費者對其在節能降耗與舒適度上的要求也不斷提升。因此,具備環保節能特性的變頻設備也更受消費者歡迎。在變頻空調等各種電器中,電子膨脹閥作為先進的節流元件,成為覆蓋從
    的頭像 發表于 12-23 12:42 ?81次閱讀

    PostgreSQL將不再支持MD5密碼

    根據 PostgreSQL 代碼倉庫的最新動態,近日有維護者提交了“棄用 MD5 密碼支持”的 commit。 該維護者指出,MD5 被認為不適合用作加密散列算法已有一段時間。 此外
    的頭像 發表于 12-10 16:14 ?139次閱讀

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態扛旗者,Percona 開發了知名
    的頭像 發表于 11-18 10:16 ?224次閱讀
    MySQL還能跟上<b class='flag-5'>PostgreSQL</b>的步伐嗎

    Meta開發新搜索引擎,減少對谷歌和必應的依賴

    近日,Meta正在積極進軍人工智能領域,并試圖跟上OpenAI的發展步伐。為實現這一目標,Meta正在開發一款全新的搜索引擎,該搜索引擎具備網絡爬蟲功能,能夠為用戶提供有關時事的對話答案,而這些答案
    的頭像 發表于 10-29 11:49 ?390次閱讀

    無功補償設備外殼異性膨脹的處理方法

    無功補償設備外殼出現異性膨脹通常是由于設備內部存在故障或環境條件不佳引起的,常見原因包括溫度過高、內部元件老化、氣體泄漏等。以下是一些常見的處理方法: 1、檢查內部元件 : 首先切斷電源,檢查設備
    的頭像 發表于 10-24 14:18 ?119次閱讀
    無功補償設備外殼異性<b class='flag-5'>膨脹</b>的處理方法

    MATLAB中的矩陣索引

    對矩陣進行索引是從矩陣中選擇或修改部分元素的一種方式。MATLAB 有幾種索引樣式,它們不僅功能強大、靈活,而且可讀性強、表現力強。矩陣是 MATLAB 用來組織和分析數據的一個核心組件,索引是以可理解的方式有效操作矩陣的關鍵。
    的頭像 發表于 09-05 09:28 ?479次閱讀
    MATLAB中的矩陣<b class='flag-5'>索引</b>

    求助,關于PGA309溫度校正點數與與生成EEPROM的索引值的數量問題求解

    現在對PGA309校準三個溫度點,-25度,25度,85度。那么這樣子我生成EEPROM索引的時候只能生成三個溫度索引值吧,還是必須生成17個溫度索引值了,一直不明白測量三個溫度點怎么樣通過線性內插獲得17個溫度
    發表于 08-16 07:56

    opa2227測試負載為10K,為啥擺幅從14v減少到11v時,輸出電流會變化這么大?

    opa2227中有個輸出擺幅與輸出電流的關系。測試負載為10K,為啥擺幅從14v減少到11v時,輸出電流會變化這么大? 比如輸出11v時,電流是11/10k=1.1mA,為圖表上是50mA? 并且輸出電壓從14v降到11v時,
    發表于 08-07 06:30

    一文了解MySQL索引機制

    接觸MySQL數據庫的小伙伴一定避不開索引索引的出現是為了提高數據查詢的效率,就像書的目錄一樣。 某一個SQL查詢比較慢,你第一時間想到的就是“給某個字段加個索引吧”,那么索引是什么
    的頭像 發表于 07-25 14:05 ?300次閱讀
    一文了解MySQL<b class='flag-5'>索引</b>機制

    ClickHouse內幕(3)基于索引的查詢優化

    ClickHouse索引采用唯一聚簇索引的方式,即Part內數據按照order by keys有序,在整個查詢計劃中,如果算子能夠有效利用輸入數據的有序性,對算子的執行性能將有巨大的提升。本文討論
    的頭像 發表于 06-11 10:46 ?1035次閱讀
    ClickHouse內幕(3)基于<b class='flag-5'>索引</b>的查詢優化

    談談制冷系統的膨脹

     膨脹閥能讓蒸發器出口處的過熱度保持在一定水平, 防止液態制冷劑離開蒸發器進入壓縮機。一旦液態制 冷劑進入壓縮機,便會發生液擊。
    的頭像 發表于 02-29 18:23 ?2350次閱讀
    談談制冷系統的<b class='flag-5'>膨脹</b>閥

    Redis官方搜索引擎來了,性能炸裂!

    RediSearch 是一個 Redis 模塊,為 Redis 提供查詢、二級索引和全文搜索功能。
    的頭像 發表于 02-21 10:01 ?2393次閱讀
    Redis官方搜<b class='flag-5'>索引</b>擎來了,性能炸裂!

    谷歌搜索引擎優化的各個方面和步驟

    谷歌搜索引擎是最受歡迎和廣泛使用的搜索引擎之一,為了使你的網站在谷歌上更好地排名并提高曝光度,你可以采取一些谷歌搜索引擎優化的步驟。 使用關鍵字研究工具,如Google AdWords關鍵字規劃工具
    的頭像 發表于 01-25 10:29 ?895次閱讀

    pcb板的熱膨脹系數是什么意思啊?怎么測量出來的?

    pcb板的熱膨脹系數是什么意思啊?怎么測量出來的? PCB板的熱膨脹系數是指材料在溫度變化時,單位溫度變化下單位長度材料長度的變化。簡單來說,就是材料在加熱或降溫時,因為溫度變化而導致長度變化的比例
    的頭像 發表于 01-17 16:50 ?1840次閱讀

    汽車膨脹水箱液位傳感器應用

    汽車膨脹水箱液位傳感器是一種用于檢測汽車水箱液位的傳感器,其結構主要包括電極、浮子、彈簧、導線等部分
    的頭像 發表于 01-11 13:39 ?900次閱讀
    主站蜘蛛池模板: 久久成人亚洲| 激情内射亚洲一区二区三区 | 秋霞伦理高清视频在线| 中国老妇xxxhd| 久久a在线视频观看| 亚洲大片免费看| 国产亚洲精品在浅麻豆| 小荡娃奶真大| 国产在线综合色视频| 亚洲 欧美 日韩 精品 自拍 | 儿子好妈妈的HD3中字抢劫| 男污女XO猛烈的动态图| 亚洲中文久久精品AV无码| 和美女啪啪啪动态图| 性派对xxxhd| 国产亚洲精品看片在线观看| 无套内射在线观看THEPORN| 国产精品99AV在线观看| 香蕉久久夜色精品国产小优| 国际老妇高清在线观看| 亚洲AV无码乱码在线观看浪潮 | 永久免费看bbb| 凌馨baby| 超碰人人澡人人胔| 天龙八部慕容属性加点| 国产在线观看成人| 在线精彩视频在线观看免费| 男女高潮又爽又黄又无遮挡| 99在线这精品视频| 撕开美女的衣服2| 教室眠催白丝美女校花| 中文字幕AV亚洲精品影视| 琪琪色原网站ying| 国产精品路线1路线2路线| 亚洲欲色欲色XXXXX在线AV| 免费果冻传媒2021视频| 动漫人物差差差30分钟免费看| 午夜快车神马影视| 狼好色有你好看| 国产成人一区二区三中文| 一本一本之道高清在线观看|