我使用pgstatindex模块对索引进行了健全性检查。返回的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;avg_leaf_density = 77.61
发布于 2021-11-03 15:39:10
该值的计算方法如下:
100.0 - (double) indexStat.free_space / (double) indexStat.max_avail * 100.0在这里,free_space是索引中未使用的空间,max_avail是所有索引页都为空时的空闲空间。
因此,avg_leaf_density是索引中被数据占用的可用空间的百分比。
请注意,在默认fillfactor为90的情况下,使用新构建的索引时,不应期望该值高于该值。数值降到30左右是正常的,没什么好担心的。
https://stackoverflow.com/questions/69827467
复制相似问题