Postgresql
VACUUM FULL 是否需要 ANALYZE
VACUUM
如果您能深入了解PostgreSQL 9.3中的功能,我將不勝感激。我通讀了文件並進行了一些搜尋,但找不到明確的答案。我正在為 9.3 伺服器設置每週數據庫維護工作。
其中一部分將是
VACUUM FULL
. 這是一個很小的數據庫,我有一個不錯的周末維護視窗,所以我可以FULL
毫無問題地執行它。將
ANALYZE
選項添加到命令有什麼意義嗎?根據 9.3 文件:
VACUUM FULL
將表的全部內容重寫到沒有額外空間的新磁碟文件中,允許將未使用的空間返回給作業系統。如果表完全重新創建,那麼我是否需要特別要求
ANALYZE
發生,或者當行被寫入新版本的表時,統計資訊是否會自動更新?
統計資訊是根據列中的值生成的。由於這些值不會被改變,
VACUUM FULL
甚至不會被改變,因此沒有特別要求VACUUM
新鮮。ANALYZE
但是,如果數據庫處於維護視窗中,那麼這是執行它的好機會。與
VACUUM FULL
.預設情況下,DBA 將依賴 autovacuum/auto-analyze 而不是手動執行此操作,但手動操作除外,
ANALYZE
當剛剛批量載入或大量修改的新表立即涉及到一個良好計劃的查詢時沒有良好的統計數據是無法獲得的。