ANALYZE
收集索引统计信息还是仅收集表统计信息?
获取最新索引使用情况和统计信息的正确方法是什么?
我的版本是Postgres 9.6
最佳答案
ANALYZE
收集表列中值的分布统计信息。
使用普通索引,您不需要收集索引的任何统计信息,因为您需要知道的只是列值的分布。
因此,您在 CREATE INDEX
之前还是之后 ANALYZE
并不重要。
此规则的异常(exception)是表达式上的索引。
对于这些,ANALYZE
将收集有关表达式值分布的数据,因此 ANALYZE
在 CREATE INDEX<如果在查询中使用该表达式,
将始终改进规划器的估计。无论索引最终是否在查询执行期间被使用,都是如此。
索引使用情况的统计数据是完全不同的事情。您可以在 pg_stat_all_indexes
中找到它们。
关于sql - Postgres 索引统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50385813/