INSERT INTO ODS.A_BI_JYMX_M_07
(
FK_SAACN_KEY,
SA_CUST_NAME,
SA_CERT_ID,
SUM_SA_CR_AMT_LOAN ,
SUM_SA_DR_AMT_REPAY
)
SELECT A.FK_SAACN_KEY,
B.SA_CUST_NAME,
B.SA_CERT_ID,
SUM(SA_CR_AMT) SUM_SA_CR_AMT_LOAN ,
SUM(SA_DR_AMT) SUM_SA_DR_AMT_REPAY
FROM ODSHIS.S_CBOD_SAACNTXN A
LEFT JOIN ODSHIS.S_CBOD_SAACNACN B
ON A.FK_SAACN_KEY=B.SA_ACCT_NO
WHERE A.SA_TX_DT > V_LAST_YEAR
AND A.SA_TX_DT<= P_CALLED_DT
AND SA_OP_CUST_NAME IN(SELECT SA_OP_CUST_NAME FROM ODS.A_BI_JYMX_M_061_3)
AND SUBSTR(B.SA_PDP_CODE,6,1)=0
GROUP BY FK_SAACN_KEY,B.SA_CUST_NAME,B.SA_CERT_ID
以上为sql语句,A表数据量较大,达到1个亿,B表240万 ,v_lastyear为存储过程定义的变量,举例子‘20171231’ pcalldt也类似,在执行到这一步时非常慢,请问专家对比语句的优化有何建议,还有请问下db2是否有类似于oracle 的并行查询的语句(类似于parallel)
墨值悬赏

评论
