感谢大家!我修复了重复键,删除了过时的索引,然后成功运行了:
REINDEX DATABASE discourse;
VACUUM VERBOSE ANALYZE;
CPU 使用率已恢复正常。呼。
问题:为什么未优化的数据库或损坏的索引会导致 postmaster 的 CPU 使用率如此之高?只是好奇。
感谢大家!我修复了重复键,删除了过时的索引,然后成功运行了:
REINDEX DATABASE discourse;
VACUUM VERBOSE ANALYZE;
CPU 使用率已恢复正常。呼。
问题:为什么未优化的数据库或损坏的索引会导致 postmaster 的 CPU 使用率如此之高?只是好奇。
我认为损坏的索引是个误导,它确实不够好,应当修复。
真正的大问题是,从 10 迁移到 12 后,数据库的统计信息变得非常糟糕,从而导致性能下降。
性能差的原因是查询优化器为查询选择了极差的执行计划,因为它所掌握的表中数据统计信息完全失真。
我们将把通过 vacuum 重建统计信息的操作集成到我们的自动化迁移流程中。
谢谢,@sam,感谢你的解释。这很有道理。我想把重建集成到自动化移动中是个好主意。再次感谢你的帮助!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.