日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

當對數(shù)據(jù)庫執(zhí)行UPDATE或DELETE操作時,雖然數(shù)據(jù)表面上已被刪除,但實際上只是被標記為不可見,并留有"空洞"在數(shù)據(jù)頁中。這會導致在讀取數(shù)據(jù)時,這些"空洞"也會一同被加載,從而減慢了數(shù)據(jù)的掃描速度。因此,您需要定期清理這些已刪除的空間以提高數(shù)據(jù)讀取效率。

  • AnalyticDB PostgreSQL能夠在后臺自動對表進行臟數(shù)據(jù)回收操作(Auto Vacuum)。具體操作,請參見自動回收空間(Auto Vacuum)

  • 為了在大量的刪除或更新操作后及時清理表,您也可以針對整個AnalyticDB PostgreSQL數(shù)據(jù)庫或單個表手動執(zhí)行VACUUM 操作。具體操作,請參見維護定期回收空間任務(wù)

空間回收方法

使用VACUUM命令,可以對表進行重新整理,回收空間,以便獲取更好的數(shù)據(jù)讀取性能。VACUUM命令如下:

VACUUM [FULL] [FREEZE] [VERBOSE] [table];
  • VACUUM:不帶任何參數(shù)時,會對所有表執(zhí)行VACUUM操作。

  • VACUUM [table]:對單表執(zhí)行VACUUM,清理臟數(shù)據(jù),釋放列存表的臟數(shù)據(jù)空間和行存表尾部的空洞,該操作不會阻塞該表的讀寫。

  • VACUUM FULL [table]:對單表執(zhí)行VACUUM FULL,會徹底釋放表的臟數(shù)據(jù)空間,但是會請求排他鎖阻塞讀寫。

  • VACUUM FREEZE [table]:對單表執(zhí)行VACUUM FREEZE,降低單表的XID AGE,不阻塞讀寫。

  • VACUUM VERBOSE [table]:會打印VACUUM執(zhí)行過程中各節(jié)點回收臟數(shù)據(jù)行數(shù)的日志。

使用建議

  • AnalyticDB PostgreSQL實例默認開啟Auto Vacuum功能,后臺自動對表進行臟數(shù)據(jù)回收操作和降低XID AGE。

  • 在進行大量刪除與更新操作后,您可以手動執(zhí)行運行VACUUM FULL命令,以徹底地釋放表占用空間。

  • 只有表的主用戶才能執(zhí)行VACUUM操作。如果在沒有相應(yīng)權(quán)限的情況下運行VACUUM,該操作不會產(chǎn)生任何效果。

查詢需要執(zhí)行VACUUM的表

AnalyticDB PostgreSQL提供了智能診斷數(shù)據(jù)膨脹功能,您可以利用該能力找到膨脹的表,按照建議查詢需要執(zhí)行VACUUM的表。具體內(nèi)容,請參見數(shù)據(jù)膨脹診斷

AnalyticDB PostgreSQL提供了一個gp_bloat_diag視圖,統(tǒng)計當前頁數(shù)和實際需要頁數(shù)的比例。您也可以通過analyze table來收集統(tǒng)計信息之后,查看該視圖。

gpadmin=# SELECT * FROM gp_toolkit.gp_bloat_diag;
bdirelid | bdinspname | bdirelname | bdirelpages | bdiexppages |                bdidiag                
----------+------------+------------+-------------+-------------+---------------------------------------
    21488 | public     | t1         |          97 |           1 | significant amount of bloat suspected
(1 row)

結(jié)果只包括發(fā)生了中度或者顯著膨脹的表。當實際頁面和預(yù)期頁面的比率(bdirelpages / bdiexppages)超過4但小于10時,就會報告為中度膨脹。當該比率超過10時就會報告顯著膨脹。對于這些表,可以執(zhí)行VACUUM FULL來回收空間。