怀念小土豆儿

好久没写博客了,今天写下存储过程表之间的关联性能问题

  (一)SELECT DISTINCT COUNT(1)
    FROM CR_LN_AR_SMY LAS --贷款合约汇总
    LEFT JOIN CR_AR_X_MRTG AXM --中间表
      ON LAS.CTR_NBR = AXM.CTR_AR_ID
    LEFT JOIN CR_GUR_CTR_AR GCA --贷款担保合同账户
      ON GCA.GUR_CTR_AR_ID = AXM.GUR_CTR_AR_ID
    LEFT JOIN CR_MRTG_INF MI --担保物信息
      ON MI.MRTG_ID = AXM.MRTG_ID
    LEFT JOIN CR_IDV I --个人客户信息
      ON I.IDV_IP_ID = LAS.CST_ID
   WHERE LAS.LN_DRDN_DT = --去重
         (SELECT MAX(LN_DRDN_DT)
            FROM CR_LN_AR_SMY LAS1
           WHERE LAS.CTR_NBR = LAS1.CTR_NBR)
     AND LAS.OVERDUEDAYS >90
 

     (二)SELECT COUNT(1)
  FROM CR_LN_AR_SMY LAS  --贷款合约汇总
       /*三张表通过中间表整合到一块在关联*/
      LEFT JOIN (SELECT TT.ACAI TACI
        FROM (SELECT AXM.MRTG_ID AMI, AXM.CTR_AR_ID ACAI --中间表的
              FROM CR_AR_X_MRTG AXM  --中间表
                   LEFT JOIN CR_GUR_CTR_AR GCA  --担保合同账户
                    ON GCA.GUR_CTR_AR_ID = AXM.GUR_CTR_AR_ID) TT  --担保合同账户.担保合同账户号=中间表.担保合同账户号
          LEFT JOIN CR_MRTG_INF MI--担保物表
                 ON MI.MRTG_ID = TT.AMI) TT1   --担保物表.担保物编号=TT.AMI
    ON LAS.CTR_NBR = TT1.TACI
  LEFT JOIN CR_IDV I   --个人客户信息
    ON LAS.CST_ID = I.IDV_IP_ID
 WHERE LAS.LN_DRDN_DT =          --去重
       (SELECT MAX(LN_DRDN_DT)
          FROM CR_LN_AR_SMY LAS1
         WHERE LAS.CTR_NBR = LAS1.CTR_NBR)
   AND LAS.OVERDUEDAYS > 90

这两个我在Oracle里测试出来的数据是一样的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值