group by 常量执行耗时长

问题现象
使用 tableau 工具拉取字段,在没有 group by 字段时,捕捉 tableau 下发给 8a MPP
sql 发现,在不指定 group by 的情况下会生成 group by 1.10000000000000001 sql
会根据生成的临时字段增加一步执行操作,浪费大量时间。
解决方法:
group by 只存在 const 类型的元素,hash redistribute 会对 const 进行 Hash 数
据重分布,导致全部将数据分布到相同的节点上,严重影响性能。
需要设置常量 group by 的优化参数 _t_gcluster_optimizer_group_const 来控
制此功能状态,可以通过 explain 执行计划查看执行情况。
0:表示优化功能关闭(默认值),会对 group by 的 const 进行 hash 重分布
1:表示功能开启,不对常量进行重分布
注:
select count(1) from t1 group by 'a'; 常量列要带上单引号
select a from t1 group by 1; group by 中的 1 表示按投影列的第一个元素
a)进行重分布
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值