Postgres ANALYZE不分析所有页面



我们最近对AWS RDS中的Postgres数据库进行了重大升级。作为更新步骤的一部分,我们执行了ANALYZE VERBOSE命令,以便数据库扫描所有表。然而,我们注意到一些包含大量数据的表没有得到充分的分析。输出语句如下:";扫描了609920页中的30000页,包含560268行和35063行死行;样本中有30000行,估计总行数为11390622行.

如果我们不扫描剩下的页面会有问题吗?如果是,我们如何扫描它们?

不,没问题。ANALYZE从统计上显著的表行样本中收集数据,因为它只收集统计数据。

如果你认为统计数据太粗糙,你可以增加default_statistics_target,以便PostgreSQL收集更详细的数据,从而使用更大的样本。但是需要注意的是,这将增加所有查询的规划时间。

最新更新