通知
清除全部
12月 30, 2020 9:00 上午
是上面两种不同的join 方式 查询时间相差很多。前面前面通过多次broadcast motion ,hash join 最后在一次redistribute motion 比hash join 一次 就redistribute motion 一次时间快了5倍。
如何能通过改变表的分布去改变执行计划呢 让其是 多次broadcast motion ,hash join 最后在一次redistribute motion 这种计划呢
PS: 复制表 随机键 关联键 都试过 执行计划完全没有改变
执行计划
PS fact 表大概4kw的数据 维度表全部小于3w 除了物material 和 project 还有assess2 center 维度
4 回复
12月 31, 2020 10:43 上午
图片看起来非常不方便,应该给出文本的查询计划,SQL,表的定义。都应提供文本格式的。
如果有简单的复现办法就更好了。
12月 31, 2020 11:21 上午
其中就有3-4各表的数据量比较大,其他的表全部小于3w 条数据,表定义
表都是appendonly true compresslevel=5 distributed by join 的键,小于3w的表就是duplicated
12月 31, 2020 11:26 上午
可以看到前面几个小表在where 条件里面有过滤的都没有做redistribute motion,而没有做过滤的关联的时候全部做了redistribute motion