我正在运行一个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).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。