gpt4 book ai didi

sql - PostgreSQL: VACUUM FULL 持续时间估计

转载 作者:行者123 更新时间:2023-12-04 13:16:21 26 4
gpt4 key购买 nike

我在生产中继承了一个 PostgreSQL 数据库,其中有一个大小约为 250 GB 的表。它只有大约一万行事件行,我估计不超过 20 MB。

该表增长到如此大小是因为 AUTOVACUUM已经关闭了一段时间。 (我知道这样做的原因。它将被重新激活并且原始问题已得到修复,所以这是 而不是 问题的一部分。)

我们的问题是许多查询需要很长时间。例如,SELECT count(*) FROM foo;大约需要 15 分钟。

现在在考虑其他选项后,我想运行 VACUUM FULL在 table 上。我尝试估计完成此操作所需的持续时间,以便我可以计划维护窗口。

据我了解,VACUUM FULL创建一个新表,将所有事件元组复制到它并用此副本替换原始表。

我的估计是,这个过程不会比这个表上的简单查询花费更长的时间,因为实时数据的整体大小和数量非常少。

您是否同意我对 'VACUUM FULL' 运行时间的期望在某种程度上是现实的?如果没有,为什么不呢?

是否有估算的最佳实践VACUUM FULL持续时间?

最佳答案

通过在类似机器上恢复文件系统备份并对其进行测试,可以获得唯一可靠的估计。这就是我要推荐的。

持续时间不仅取决于大小,还取决于膨胀量:如果实际数据较少,则速度会更快。

也就是说,我会要求 2 小时的维护窗口,这对于非常有问题的硬件之外的任何东西都应该足够了。

关于sql - PostgreSQL: VACUUM FULL 持续时间估计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60053662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com