Postgres索引统计数据

时间:2018-05-17 07:35:10

标签: sql postgresql indexing postgresql-9.6

ANALYZE是收集索引统计信息还是仅收集表格?

获取最新索引使用情况和统计​​信息的正确方法是什么?

我的版本是Postgres 9.6

1 个答案:

答案 0 :(得分:2)

ANALYZE收集有关表格列中值分布的统计信息。

使用普通索引,您不需要收集索引的任何统计信息,因为您需要知道的是列值的分布。

因此ANALYZE之前或之后CREATE INDEX无关紧要。

此规则的例外是表达式的索引。

对于这些,ANALYZE将收集有关表达式值的分布的数据,因此ANALYZE之后的CREATE INDEX将始终改善计划程序&#39 ; s估计是否在查询中使用该表达式。无论索引是否最终在查询执行期间使用,都是如此。

索引使用情况的统计数据完全不同。您可以在pg_stat_all_indexes找到它们。