暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第19天 |openGauss收集统计信息、打印执行计划、垃圾收集和checkpoint

原创 。。。。 2021-12-20
658

学习心得:   

 EXPLAIN显示SQL语句的执行计划。执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。执行计划的最关键的部分是语句的预计执行开销,这是计划生成器估算执行该语句将花费多长的时间。若指定了ANALYZE选项,则该语句会被执行,然后根据实际的运行结果显示统计数据,包括每个计划节点内时间总开销(毫秒为单位)和实际返回的总行数。这对于判断计划生成器的估计是否接近现实非常有用。

课后作业:

1.创建分区表,并用generate_series(1,N)函数对表插入数据

回答:

-- 创建分区表
Create schema tpcds;
create table tpcds.t1
( id int,
  name CHAR(2))
partition by range (id)
(
        partition update_table_p0 values less than (50),
        partition update_table_p1 values less than (500),
        partition update_table_p2 values less than (1000)
);
-- 使用generate_series(1,N)函数对表插入数据
insert into tpcds.t1 values(generate_series(10, 200));
-- 查看数据
select * from tpcds.t1;
复制

截图:


2.收集表统计信息

回答:

select relname, relpages, reltuples from pg_class where relname = 't1';
复制

截图:


3.显示简单查询的执行计划;建立索引并显示有索引条件的执行计划

回答:

EXPLAIN SELECT * FROM tpcds.t1;
-- 建立索引并显示有索引条件的执行计划
create index customer_address_idx on tpcds.t1(id);
EXPLAIN SELECT * FROM tpcds.t1 WHERE id<100;
复制

截图:


4.更新表数据,并做垃圾收集

回答:

update tpcds.t1 set id = id + 1 where id <100;
VACUUM (VERBOSE, ANALYZE) tpcds.t1;
复制

截图:


5.清理数据

回答:

drop schema tpcds cascade;
复制

截图:


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论