统计信息
在数据库中,统计信息是优化器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造成执行计划严重劣化,从而导致性能问题。
ANALYZE语句可收集与数据库中表内容相关的统计信息,统计结果存储在系统表 PG_STATISTIC 中。查询优化器会使用这些统计数据,以生成最有效的执行计划。
建议在执行了大批量插入/删除操作后,例行对表或全库执行 ANALYZE 语句更新统计信息。
执行计划
SQL执行计划是一个节点树,显示openGauss执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。
使用 EXPLAIN 命令可以查看优化器为每个查询生成的具体执行计划。
EXPLAIN 给每个执行节点都输出一行,显示基本的节点类型和优化器为执行这个节点预计的开销值。
课后作业
1、创建分区表,并用generate_series(1,N)函数对表插入数据
create schema lvzz;
create table lvzz.products
(
product_id integer not null,
product_code integer,
product_name char(20),
category char(30)
)
partition by range(product_id)
(
partition p1 values less than(50),
partition p2 values less than(100),
partition p3 values less than(150),
partition p4 values less than(10000)
);
insert into lvzz.products values
(1, 10, 'one', 'one'),(2, 20, 'two', 'two'),(3, 30, 'three', 'three');
insert into lvzz.products values(generate_series(10, 1000));
复制
2、收集表统计信息
select relname, relpages, reltuples from pg_class where relname = 'products';
--使用analyze verbose语句更新统计信息,并输出表的相关信息
analyze verbose lvzz.products;
select relname, relpages, reltuples from pg_class where relname = 'products';
复制
3、显示简单查询的执行计划;建立索引并显示有索引条件的执行计划
--使用默认的打印格式
set explain_perf_mode=normal;
explain select * from lvzz.products;
复制
--创建索引
create index products_idx on lvzz.products(product_id);
explain select * from lvzz.products where product_id<100;
复制
4、更新表数据,并做垃圾收集
update lvzz.products set product_id = product_id + 1 where product_id <100;
vacuum (verbose, analyze) lvzz.products;
复制
5、清理数据
drop schema lvzz cascade;
select * from lvzz.products;
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年3月国产数据库大事记
墨天轮编辑部
830次阅读
2025-04-03 15:21:16
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
MogDB
280次阅读
2025-04-17 10:41:41
openGauss 7.0.0-RC1 版本正式发布!
Gauss松鼠会
187次阅读
2025-04-01 12:27:03
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
云和恩墨
175次阅读
2025-04-16 09:52:02
openGauss 7.0.0-RC1 版本体验:一主一备快速安装指南
孙莹
168次阅读
2025-04-01 10:30:07
一文快速上手openGauss
进击的CJR
106次阅读
2025-03-26 16:12:54
鲲鹏RAG一体机解决方案正式发布 openGauss DataVec向量数据库助力DeepSeek行业应用
Gauss松鼠会
101次阅读
2025-03-31 10:00:29
openGauss6.0.0适配操作系统自带的软件,不依赖三方库
来杯拿铁
69次阅读
2025-04-18 10:49:53
opengauss使用gs_probackup进行增量备份恢复
进击的CJR
64次阅读
2025-04-09 16:11:58
openGauss 7.0.0-RC1 版本正式发布!
openGauss
45次阅读
2025-04-01 12:27:04