炫“库”行动—人大金仓有奖征文——金仓分析型数据库系统执行计划生成和查看

【本文正在参与炫“库”行动—人大金仓有奖征文】

人大金仓有奖征文 (csdn.net)https://bss.csdn.net/m/topic/kingbase


一、执行计划生成

        EXPLAIN和EXPLAIN ANALYZE是金仓分析型数据库系统优化性能的工具。EXPLAIN会为查询显示其查询计划和估算的代价,但是不执行该查询。EXPLAIN ANALYZE除了显示查询的查询计划之外,还会执行该查询。EXPLAIN ANALYZE会忽略任何来自SELECT语句的输出,但是该语句中的其他操作会被执行(例如INSERT、UPDATE或者DELETE)。要在 DM L 语句上使用EXPLAIN ANALYZE却不让该命令影响数据,建议把EXPLAIN ANALYZE用在一个事务中。

二、执行计划构成

        执行计划是数据库中将要执行的查询产生的一组操作树,计划中的每个节点代表数据库的一个操作,例如表扫描,连接,分组聚集,排序以及并行处理需要数据移动节点等。查询计划应该按照从下向上的顺序来读和执行。

2.1、操作节点   

类型 节点操作 含义
扫描 Seqscan 顺序扫描在数据库中,是最常见,也是最简单的一种方式,就是将一个数据文件从头到尾读取一次,这种方式非常符合磁盘的读写特性,顺序读写,吞吐很高。对于分析性的语句,顺序扫描基本上是对全表的所有数据进行分析计算,因此这一种方式非常有效。在数据仓库中,绝大部分都是这种扫描方式,在 KingbaseAnalyticsDB中结合压缩表一起使用,可以减少磁盘 IO 的损耗。
Indexscan 索引扫描是通过索引来定位数据的,一般对数据进行特定的筛选,筛选后的数据量比较小。使用索引进行筛选,必须先在筛选的字段上建立索引,查询时先通过索引文件定位到实际数据在数据文件中的位置ÿ

你可能感兴趣的:(数据仓库)