暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBASE 8A v953报错集锦35-- group by 常量执行耗时长

原创 love_meiyu 2022-07-24
344

问题现象

使用 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)进行重分布

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论