PostgreSQL 索引膨胀
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL 索引膨胀相关的知识,希望对你有一定的参考价值。
索引膨胀,主要针对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;
以上是关于PostgreSQL 索引膨胀的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 14 Bottom-up index tuple deletion 大大减少btree索引膨胀
PostgreSQL 14 Bottom-up index tuple deletion 大大减少btree索引膨胀