索引优化:avg_leaf_edensity字段



我使用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左右是正常的,无需担心。

最新更新