Greenplum学习

本文详细探讨了Greenplum的执行计划,包括关联键、分布键、广播和重分布等概念。讲解了如何根据数据分布进行关联操作,并讨论了切片(slice)在执行计划中的作用。此外,还深入分析了聚合函数的不同实现方式以及各种类型的关联操作,如hash join和nested loop。最后,提到了SQL消耗评估和数据库统计信息收集的重要性。
摘要由CSDN通过智能技术生成

执行计划

关联键

执行sql操作时,需要进行数据关联的键值,比如group by,join

分布键

根据一个键值,将数据分布在不同的segment上

广播和重分布

关联的数据必须在同一个节点上才能进行计算,数据的初次分布是通过分布键将数据分布在不同的segment上,但是当某个表的关联键与分布键不是同一个键时,需要通过重分布或者广播来实现数据关联

  • CASE1:a表关联键是分布键,b表关联键不是分布键,进行a、b表关联
类别 操作 操作的数据量
重分布 通过关联键将b表数据重新分布到不同的segment上,再和a表进行关联

重分布的数据量为某表的数据量

P1 = N

广播 a表数据进行广播,即每个segment都有一份a表的数据,再和b表关联

广播的数据量是a表数据量

P2 = M * segment数L

结果:P1小,选择重分布;P2小,选择广播

问题:广播表的为何选择a表,因为如果b表广播一定大于b表的重分布,就没有必要了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值