GBase 8a Mpp Cluster集群产品性能优化篇之减少嵌套-查询改写

本文探讨了如何将GBase 8a MPP Cluster中的嵌套查询进行改写,以提高性能。通过将group by语句移至内部并合并查询,减少了查询复杂度,从而提升了数据处理效率。具体案例中,展示了一个SQL查询改写前后的对比,涉及了数据仓库和大数据场景下的性能优化。
摘要由CSDN通过智能技术生成

将group部分移到内部,嵌套查询改成了一个查询

原SQL:

SELECT AAE003 对应费款所属期,
AAE002 费款所属期,
AAA041 个人缴费比例,
AAA043 单位缴费划入个人账户比例,
AAA115 明细类型,
AAE011 经办人,
AAE036 经办时间,
BAE181 数据来源,
AAB191 到账日期,
NVL(SUM(NVL(AAE180, 0)), 0) 缴费基数,
NVL(SUM(个人缴费金额), 0) 个人缴费金额,
NVL(SUM(个人缴费部分利息), 0) 个人缴费部分利息,
NVL(SUM(NVL(AAE081, 0)), 0) 单位缴费划入个人账户金额,
NVL(SUM(单位缴费划入个人账户利息), 0) 单位缴费划入个人账户利息
FROM
(
SELECT AAE003 ,
AAE002,
NVL(AAA041,0) AAA041,
NVL(AAA043,0) AAA043,
AAA115,
AAE011,
AAE036,
BAE181,
AAB191,
AAE180,
(NVL(AAE082, 0) + NVL(AAE083, 0)) 个人缴费金额,
(CASE WHEN BAE230 = ‘4’ THEN (NVL(AAE082, 0) + NVL(AAE083, 0)) ELSE 0 END) 个人缴费部分利息,
AAE081,
(CASE WHEN BAE230 = ‘4’ THEN (NVL(AAE081, 0)) END) 单位缴费划入个人账户利息
FROM AC08
WHERE AAC001 = ?1
) A
GROUP BY AAE003,
AAE002,
AAA041,
A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值