索引膨胀,主要针对B-tree而言
索引膨胀的几个来源:
大量删除发生后,导致索引页面稀疏,降低了索引的使用效率;
PG9.0之前的版本,vacuum full会同样导致索引页面稀疏;
长时间运行的事务,禁止vacuum对表的清理工作二导致页面稀疏状态一致保持。
注意REINDEX会造成全表锁,不要在系统繁忙的时候操作
查看索引占用的空间:
select pg_relation_size(oid)/1024/1024,relname from pg_class where relkind=’i’ order by pg_relation_size(oid) desc limit 20;
查看特定索引大小
select pg_relation_size(‘tbl_test_p1_pk’)/1024/1024;
重建特定索引
reindex index tbl_test_p1_pk;
更新数据库的统计信息
analyze tbl_test;
查看特定索引大小
select pg_relation_size(‘tbl_test_p1_pk’)/1024/1024;