SQL优化案例-从执行计划定位SQL问题(三)

当SQL出现问题,能从执行计划中快速的定位哪部分出现问题很重要,SQL文本如下(为保证客户隐私,已经将注释和文字部分去掉):

SELECT /*+ index(i IDX_INVM_BEC)*/ RQ,JGM,BZ,CUSTOMER_TYPE,
  B.CUSTOMER_NO,
  B.CUSTOMER_NAME AS DKHM,
  B.ACCT_NO DKZH,
  B.STATUS,
  B.LOAN_BAL,
  P,
  LX,
  NVL((SELECT A.ACCT_NO_DESC || A.ACCT_NO_ALL2 
         FROM INVM_ZMQ A 
        WHERE A.ACCT_NO=I.ACCT_NO 
          AND A.ZHLB='3'),I.ACCT_NO) AS CKZH,
  I.CURR_VAL,
  (CASE WHEN B.TRANSFER_ACCT=I.ACCT_NO THEN '嘻嘻嘻' ELSE '' ENDAS SM
FROM(
  SELECT B.EXTDATE       AS RQ,
         B.BRANCH_NO     AS JGM,
         B.CURRENCY      AS BZ,
         C.CUSTOMER_TYPE,
         B.CUSTOMER_NO,
         C.CUSTOMER_NAME,
         B.ACCT_NO,
         '啊啊'          AS STATUS,
         B.LOAN_BAL,
         B.UNPD_PRIN_BAL AS P,
         ROUND(B.CAP_UNPD_INT,2)+
         (CASE WHEN B.REPAY_SCHED IN ('M','G'OR L.REPAY_SCHED IN ('M','G'THEN 0
               ELSE (CASE WHEN L.PIA_CAPN_FREQ='S' AND L.PAST_DUE_CAPN_FREQ='S' 
                          THEN ROUND(B.THEO_UNPD_ARR_PRN,2)
                               +(CASE WHEN L.FINE1_COMPD_OPT='Y' THEN ROUND(B.THEO_UNPD_ARRS_INT,2ELSE 0 END)
                               +(CASE WHEN L.FINE2_COMPD_OPT='Y' THEN ROUND(B.THEO_UNP
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值