Postgresql
postgres autovaccum 的分析是否會重建整個表?
我在 postgres 文件中找不到答案,儘管一些 DBA 在他們的部落格中聲稱手動分析會建構整個表的統計資訊,而 autovacuum 只會更新增量統計資訊,但有些 DBA 卻說相反。
我知道 autovacuum 是真空的預定版本,並根據我們知道的其他參數進行分析。現在我的問題是 autovacuum 的分析是重建整個表的統計資訊還是只更新現有的統計資訊(增量)?與同一主題相關的另一個問題是,“預設統計”值是否也適用於 autovacuum 分析?
謝謝,
薩吉斯·P·謝蒂
Autovacuum 的分析與手動分析(所有列)的作用相同。我在原始碼中看不到任何支持“autovacuum 增量工作,手動分析完全重建”的內容。“update_attstats”甚至不看是誰在呼叫它。
他們以同樣的方式處理“預設統計”。
和之間可能存在一些
vacuum
混淆。vacuum full``analyze
vacuum
是將死行標記為空閒空間的操作。analyze
是收集數據統計資訊的操作。vacuum full
不是 的變體vacuum
,儘管名稱暗示了它。這就是為什麼我喜歡稱它為unbloat
orrewrite
。這是重寫整個表的操作。因此,此操作將真正回收可用空間並消除臃腫。有關更多詳細資訊,請閱讀此處的文件:https ://www.postgresql.org/docs/current/routine-vacuuming.html