【发布时间】:2016-09-16 08:06:07
【问题描述】:
假设大型删除和更新是在 GP 表上完成的。
我不应该一起运行真空分析吗?我应该单独运行真空和分析吗? GP 最佳实践文档说“不要运行真空分析” http://gpdb.docs.pivotal.io/4300/pdf/GPDB43BestPractices.pdf
当我运行真空分析时它的运行顺序是什么?是否有围绕订单运行真空和分析的最佳实践?为什么 Pivotal 说不要同时运行它们?
【问题讨论】:
假设大型删除和更新是在 GP 表上完成的。
我不应该一起运行真空分析吗?我应该单独运行真空和分析吗? GP 最佳实践文档说“不要运行真空分析” http://gpdb.docs.pivotal.io/4300/pdf/GPDB43BestPractices.pdf
当我运行真空分析时它的运行顺序是什么?是否有围绕订单运行真空和分析的最佳实践?为什么 Pivotal 说不要同时运行它们?
【问题讨论】:
在运行 VACUUM 之前运行 ANALYZE 会更安全,以更正表显着膨胀时任何潜在的不准确行数估计值。
由于 ANALYZE 使用块级采样,因此包含不包含有效行的块比例较高的表可能会导致 ANALYZE 将 pg_class 目录表中的 reltuples 列设置为一个不准确的值,导致未优化的查询计划。 VACUUM 命令产生更准确的计数,并且在 ANALYZE 之后运行时将更正不准确的行计数估计。
【讨论】: