DB Full Vacuum、Cluster、Analyze - 以什么顺序?

Ada*_*tan 4 postgresql cluster database vacuum

我有一个巨大的(~150 GB)postgresql 数据库,它的性能在过去几周内下降了。为了提高性能,我打算执行FULL VACUUMCLUSTERANALYZE

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

谢谢,

乌迪

Mag*_*der 8

如果这就是您所说的,您永远不应该运行 VACUUM FULL。

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

除非,也就是说,您可以使用 autovacuum。如果您使用的是 8.3 或更高版本,则在大多数情况下建议这样做。这样你就不会不必要地运行它。

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

您在其上运行 CLUSTER 的表不需要 VACUUM。