postgresql – 删除大量行后,是否需要REINDEX和VACUUM表?

postgresql – 删除大量行后,是否需要REINDEX和VACUUM表?,第1张

概述我正在运行一个PostgreSQL数据库,它有几个存储日志信息的表.此信息仅用于报告目的,如果超过30天,则会转储到文件中并从数据库中删除. 可以删除数百万行,并且每次删除后我们都在运行REINDEX. 这是否足够,还是我们还应该运行VACUUM或VACUUM ANALYZE?或者REINDEX不是必需的,我们应该只运行VACUUM或VACUUM ANALYZE? 我们正在使用PostgreSQL 我正在运行一个Postgresql数据库,它有几个存储日志信息的表.此信息仅用于报告目的,如果超过30天,则会转储到文件中并从数据库中删除.

可以删除数百万行,并且每次删除后我们都在运行REINDEX.

这是否足够,还是我们还应该运行VACUUM或VACUUM ANALYZE?或者REINDEX不是必需的,我们应该只运行VACUUM或VACUUM ANALYZE?

我们正在使用Postgresql 8.2.3,我相信它不允许自动吸尘.

您应该执行VACUUM ANALYZE,因为VACUUM将允许重复使用已删除数据使用的空间并防止事务环绕,并且ANALYZE将更新计划程序统计信息,这将为您的报告查询提供更好的查询计划.

REINDEX在理论上并不是必需的,但您可能会发现它会导致更好的性能,因为索引是连续的.

8.2的相关文档页面是here (routine re-index)和here (routine vacuuming).

总结

以上是内存溢出为你收集整理的postgresql – 删除大量行后,是否需要REINDEX和VACUUM表?全部内容,希望文章能够帮你解决postgresql – 删除大量行后,是否需要REINDEX和VACUUM表?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1168871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存