Greenplum学习笔记之二【执行计划】

1. 如何产生执行计划
  • explain和explain analyze,都可以显示执行计划

EXPLAIN ANALYZE运行语句后除了显示计划外,还有下列额外的信息:

  1. 运行该查询消耗的总时间(单位毫秒)
  2. 计划几点操作中涉及的segment数量
  3. 查询中产生最多行的segmen的segmentID以及最大行数
  4. 操作中所使用的内存
  5. 从产生最多行的segment中检索第一行所花费的时间,以及从该segment中检索所有行所花费的时间

explain和explain analyze的区别:

  1. explain会为查询显示其查询计划和估算的代价,但是不执行该查询
  2. explain analyze除了显示查询的查询计划之外,还会执行该查询,但不显示查询结果,如果需要在DML语句上使用explain analyze的话,需要用在事务中进行回滚
2. 如何阅读执行计划

解释计划是一份报告,它详细描述了Greenplum数据库优化器确定的执行查询要遵循的步骤。计划是一棵节点构成的树,应该从底向上阅读,每一个节点都会将其结果传递给其直接上层节点。每个节点表示计划中的一个步骤,每个节点对应的那一行标识了在该步骤中执行的操作——例如扫描、连接、聚集或者排序操作。节点还标识了用于执行该操作的方法。例如,扫描操作的方法可能是顺序扫描或者索引扫描。而连接操作可以执行哈希连接或者嵌套循环连接

下面是一个简单查询的解释计划。该查询在存储于每一Segment中的分布表中查找行数。

gpacmin=# EXPLAIN SELECT gp_segment_id, count(*) 
                  FROM contributions 
                  GROUP BY gp_segment_id;
                                 QUERY PLAN 
-------------------------------------------------------------------------------- 
 Gather Motion 2:1  (slice2; segments: 2)  (cost=0.00..4.44 rows=4 width=16)
   -><
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值