GBase 8a
其他
文章
记Gbase8a一次简单的典型sql优化
GBase用户11414
发表于2024-04-08 13:06:15313次浏览0个评论
某客户反映一条业务测试sql查询缓慢(3节点集群),百万级数据量用时6-8s,不满足小于1秒的业务需求!由于客户刚使用8a不久,希望远程进行优化演示。
客户sql也比较简单,为两表关联分页查询,sql如下:
SELECT * FROM AAAA a,BBBB b WHERE a.AAC001_JY = to_char(b.AAC001_jy) AND a.AAB301 like concat('5106','%') AND a.ywlx= '1' limit 0,100;
优化过程:
1、首先检查a/b表的表结构,发现表a为hash分布表,分布列AAC001_JY,表b为随机分布表
2、表a的AAC001_JY列为varchar数据类型,表b的AAC001_jy列为double数据类型
基于以上两点,给出优化建议如下:
将表b重建为hash分布表,选择AAC001_jy为分布列,同时将AAC001_jy字段数据类型调整为varchar。
进行上述调整后,sql执行时间降低到1s左右,上下波动,继续优化对于语句中like concat('5106','%')写法颇为陌生(后查询资料为mybaits的语法),将其调整整为常规like '5106%‘后,查询时间稳定在500ms左右
评论
登录后才可以发表评论


热门帖子
- 12023-05-09浏览数:17036
- 22020-05-11浏览数:10500
- 32019-04-26浏览数:10427
- 42023-09-25浏览数:9979
- 52023-07-04浏览数:9633