PostgreSQL
分区表统计!单独收集更高效
原创 红石
PG
当分区表的数据量相当大的时候,统计信息的更新会出现滞后吗?
现在,
PostgreSQL
可以单独收集分区表的统计信息了。
介绍
PostgreSQL
的优化器依靠准确的统计信息,为给定的语句找到
最高效的计划来执行。错误或不准确的统计信息,通常会导致产生
不是最优的执行计划,进而在性能方面表现不佳。这不仅适用于
PostgreSQL
,所有使用基于成本的优化器的数据库系统都依赖统
计信息。通常情况下,你无需关心统计信息,因为
PostgreSQL
会
根据自上次收集统计信息以来表中发生的更改量,自动地收集它们。
下面,我们先来了解这一过程的一般原理,然后深入探讨分区表的
相关细节。
普通表的统计信息收集
让我们先创建一个简单的表,并向其中插入
100
万行数据:
create table x ( a int, b text );
insert into x select i, 'aaa' from
generate_series(1,1000000) i;
在填充完表后,立即查询
pg_stats
中的可用统计信息,很可能
什么都看不到:
select count(*) from pg_stats where tablename = 'x';
count
评论