数据库完全真空、聚类、分析 - 按什么顺序?

数据库完全真空、聚类、分析 - 按什么顺序?

我有一个巨大的 (~150 GBytes) postgresql 数据库,其性能在过去几周内下降了。为了提高性能,我打算执行全真空分析

我应该按照什么顺序执行这些操作?我不介意执行所需的时间,只关心数据库的性能改进。

答案1

你应该绝不如果您正在谈论这个,请运行 VACUUM FULL。

您应该定期在所有数据库上运行 VACUUM 和 ANALYZE。这里最简单的做法是只运行 VACUUM ANALYZE 作为一个命令,这样可以同时执行这两个命令 - 这也更快。

除非您可以使用 autovacuum。如果您使用的是 8.3 或更新版本,那么在大多数情况下,这将是建议。这样您就不会不必要地运行它。

您不应该仅仅因为可以就对数据库中的所有内容运行 CLUSTER。如果您有特定的表,请在那里运行它。但大多数工作负载根本不需要常规 CLUSTER - 当然也不需要对所有表都运行。

运行 CLUSTER 的表不需要 VACUUM。

相关内容