我使用pgstaticex模块对索引进行健全性检查。返回的avg_leaf_density
字段意味着什么?
SELECT i.indexrelid::regclass AS index,
s.index_size,
s.avg_leaf_density
FROM pg_index AS i
CROSS JOIN LATERAL pgstatindex(i.indexrelid) AS s
WHERE indrelid = 'myschema.mytable'::regclass;
平均_平均_密度=77.61
值的计算如下:
100.0 - (double) indexStat.free_space / (double) indexStat.max_avail * 100.0
这里,free_space
是索引中未使用的空间,如果所有索引页都为空,则max_avail
是可用空间。
因此,avg_leaf_density
是索引中被数据占用的可用空间的百分比。
请注意,默认fillfactor
为90时,对于新建索引,不应期望值高于该值。数值降至30左右是正常的,无需担心。