暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM数据库SQL优化案例分享

52

 

 



慢SQL(关键信息已经加密):

WITH CORP11111 AS
         (SELECT T.O_CODE,
                 T.O_NAME,
                 T.CUS_TYPE,
                 T.O_TYPE,
                 T.SET_NAME,
                 T.SET_ID,
                 T.DIM_CODE,
                 T.DIM_OBJ_ID
          FROM (SELECT C.O_CODE,
                       C.CUS_TYPE,
                       C.O_TYPE,
                       C.O_NAME,
                       T2.SET_NAME,
                       T2.SET_ID,
                       B.DIM_CODE,
                       B.DIM_OBJ_ID,
                       ''AS D_DEPT,
                       ''AS D_NAME,
                       ''AS D_BIZLINE,
                       ''AS P_CLASS,
                       ''AS P_CLASS_NAME
                FROM (SELECT DIM_OBJ_ID,
                             BASE_DATE,
                             LIMIT_LINE,
                             AWC_QUOTA,
                             OCC_QUOTA,
                             LIMIT_LINE_ABLE,
                             LIMIT_LINE_RATE
                      FROM TAWC11111
                      WHERE BASE_DATE ='2024-04-01') A
                         INNERJOIN TAWC22222 B
                                    ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                         INNERJOIN T2RRRR C
                                    ON B.O_CODE = C.O_CODE
                         LEFTJOIN VRG99999 T1
                                   ON C.O_CODE = T1.O_CODE
                                       AND T1.BASE_DATE = A.BASE_DATE
                         LEFTJOIN TAXC45200 T2
                                   ON T1.SET_ID = T2.SET_ID
                                       AND T2.BASE_DATE = A.BASE_DATE
                WHERE A.BASE_DATE ='2024-04-01'
                  AND B.DIM_CODE ='DIM_CORP'
                  AND A.AWC_QUOTA >0
                UNIONALL
                SELECT T2.SET_ID AS O_CODE,
                       'GG'    AS CUS_TYPE,
                       'group'   AS O_TYPE,
                       ''        AS O_NAME,
                       T2.SET_NAME,
                       T2.SET_ID,
                       B.DIM_CODE,
                       B.DIM_OBJ_ID,
                       ''        AS D_DEPT,
                       ''        AS D_NAME,
                       ''        AS D_BIZLINE,
                       ''        AS P_CLASS,
                       ''        AS P_CLASS_NAME
                FROM (SELECT DIM_OBJ_ID,
                             BASE_DATE,
                             LIMIT_LINE,
                             AWC_QUOTA,
                             OCC_QUOTA,
                             LIMIT_LINE_ABLE,
                             LIMIT_LINE_RATE
                      FROM TAWC11111
                      WHERE BASE_DATE ='2024-04-01') A
                         INNERJOIN TAWC22222 B
                                    ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                         INNERJOIN TAXC45200 T2
                                    ON B.VRG_SET_ID = T2.SET_ID
                                        AND A.BASE_DATE = T2.BASE_DATE
                WHERE A.BASE_DATE ='2024-04-01'
                  AND B.DIM_CODE ='DIM_VRG'
                  AND A.AWC_QUOTA >0) T
          WHERE1=1
          GROUPBY O_CODE,
                   O_NAME,
                   CUS_TYPE,
                   O_TYPE,
                   SET_NAME,
                   SET_ID,
                   DIM_CODE,
                   DIM_OBJ_ID),
     PORT_11112 AS
         (SELECT A.DIM_OBJ_ID AS                     CUST_CODE,
                 ''                                  CUS_TYPE,
                 '2'                                 O_TYPE,
                 WM_CONCAT(DISTINCT(C.O_NAME))       O_NAME,
                 WM_CONCAT(DISTINCT(A.D_DEPT))       D_DEPT,
                 WM_CONCAT(DISTINCT(A.D_NAME))       D_NAME,
                 WM_CONCAT(DISTINCT(A.D_BIZLINE))    D_BIZLINE,
                 WM_CONCAT(DISTINCT(A.P_CLASS))      P_CLASS,
                 WM_CONCAT(DISTINCT(DIM_CLASS_NAME)) P_CLASS_NAME,
                 'DIM_PORT'                          DIM_CODE,
                 A.DIM_OBJ_ID,
                 T2.SET_NAME
          FROM (SELECTDISTINCT A.DIM_OBJ_ID,
                                A.DIM_CODE,
                                B.CUST_CODE,
                                B.D_DEPT,
                                B.D_NAME,
                                B.D_BIZLINE,
                                B.P_CLASS
                FROM (SELECT AWC_QUOTA,
                             LIMIT_LINE,
                             BASE_DATE,
                             DIM_OBJ_ID,
                             OCC_QUOTA,
                             LIMIT_LINE_ABLE,
                             LIMIT_LINE_RATE
                      FROM TAWC11111
                      WHERE BASE_DATE ='2024-04-01') STATS
                         INNERJOIN TAWC22222 A
                                    ON STATS.DIM_OBJ_ID = A.DIM_OBJ_ID
                         INNERJOIN DIM_9999 B
                                    ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                WHERE A.DIM_CODE ='DIM_PORT'
                  AND STATS.BASE_DATE ='2024-04-01'
                  AND (STATS.LIMIT_LINE >0OR STATS.AWC_QUOTA >0)) A
                   INNERJOIN T2RRRR C
                              ON A.CUST_CODE = C.O_CODE
                   LEFTJOIN (SELECTDISTINCT DIM_CODE, DIM_CLASS_NAME
                              FROM T9X2CC
                              ORDERBY DIM_CODE ASC) D
                             ON A.P_CLASS = D.DIM_CODE
                   LEFTJOIN VRG99999 T1
                             ON C.O_CODE = T1.O_CODE
                                 AND T1.BASE_DATE ='2024-04-01'
                   LEFTJOIN TAXC45200 T2
                             ON T1.SET_ID = T2.SET_ID
                                 AND T1.BASE_DATE ='2024-04-01'
          WHERE1=1
          GROUPBY A.DIM_OBJ_ID, T2.SET_NAME),
     CREDIT9144 AS
         (SELECT DECODE(T1.ADJ_TYPE, '调减'-11* T1.ADJ_LINE AS ADJ_LINE,
                 T2.O_CODE,
                 T1.INST_ID,
                 T4.DIM_OBJ_ID,
                 T5.SET_ID
          FROM TAWXV999 T1
                   INNERJOIN TAWC22222 T2
                              ON T1.DIM_OBJ_ID = T2.DIM_OBJ_ID
                   LEFTJOIN TAWC_RESULT_DETAIL T3
                             ON T1.INST_ID = T3.INST_ID
                                 AND T3.AWC_TYPE LIKE'AWC_%'
                   LEFTJOIN TAWC22222 T4
                             ON T3.DIM_OBJ_ID = T4.DIM_OBJ_ID
                   LEFTJOIN VRG99999 T5
                             ON T2.O_CODE = T5.O_CODE
                                 AND T5.BASE_DATE ='2024-04-01'
          WHERE T1.DATA_SOURCE ='ADJ'
            AND T1.TMP_FLAG ='0'
            AND T1.AWC_TYPE ='AWC_CREDIT'
            AND (T1.REMARK ='初始化-占用信用债'OR T1.REMARK ='释放信用债'OR
                 T1.INST_ID IN
                 (SELECT INST_ID FROM CFLSSX WHERE AWC_CREDIT_FLAG ='1'))
            AND T1.ADJ_BEG_DATE <='2024-04-01'
            AND (T1.ADJ_END_DATE ISNULLOR T1.ADJ_END_DATE >'2024-04-01'))
SELECTCOUNT(1)
FROM (SELECT T1.*,
             TO_CHAR(DECODE(T1.DIM_CODE,
                            'DIM_PORT',
                            T3.ADJ_LINE,
                            DECODE(CUS_TYPE,
                                   'GG',
                                   T4.ADJ_LINE,
                                   T2.ADJ_LINE)) /10000,
                     'fm999999999999999990.00'AS ADJ_LINE
      FROM (SELECT T.O_CODE                           AS              ID,
                   T.O_NAME                           AS              CORP_NAME,
                   (SELECTMAX(PARENTID) PARENTID
                    FROM (SELECTCASEMAX(DIM_OBJ_ID)
                                     WHENNULLTHEN
                                         ''
                                     ELSE
                                         MAX(TN.CUST_CODE)
                                     END PARENTID
                          FROM DIM_9999 TN
                          WHERE TN.DIM_OBJ_ID = T.DIM_OBJ_ID
                          GROUPBY TN.DIM_OBJ_ID
                          HAVINGCOUNT(DISTINCT (CUST_CODE)) <=1) A) PARENTID,
                   T.O_CODE,
                   T.BASE_DATE,
                   T.DIM_OBJ_ID,
                   T.CUS_TYPE,
                   T.O_NAME                           AS              CUS_NAME,
                   T.DIM_CODE,
                   T.IS_NEW_DATE,
                   TO_CHAR(SUM(CASE
                                   WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                       NVL(LIMIT_LINE, 0)
                                   ELSE
                                       0
                       END/10000,
                           'fm999999999999999990.00'AS              LIMIT_LINE,
                   TO_CHAR(SUM(CASE
                                   WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                       NVL(AWC_QUOTA, 0)
                                   ELSE
                                       0
                       END/10000,
                           'fm999999999999999990.00'AS              AWC_QUOTA,
                   TO_CHAR(SUM(CASE
                                   WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                       NVL(OCC_QUOTA, 0)
                                   ELSE
                                       0
                       END/10000,
                           'fm999999999999999990.00'AS              OCC_QUOTA,
                   TO_CHAR(SUM(CASE
                                   WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                       NVL(LIMIT_LINE_RATE, 0*100
                                   ELSE
                                       0
                       END),
                           'fm999999999999999990.00'AS              LIMIT_LINE_RATE,
                   TO_CHAR(GREATEST(SUM(CASE
                                            WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                                NVL(LIMIT_LINE_ABLE, 0)
                                            ELSE
                                                0
                       END/10000,
                                    0),
                           'fm999999999999999990.00'AS              LIMIT_LINE_ABLE,
                   TO_CHAR(SUM(CASE
                                   WHEN T.AWC_TYPE ='CE_GENERAL'THEN
                                       NVL(AWC_QUOTA, 0)
                                   ELSE
                                       0
                       END/10000,
                           'fm999999999999999990.00'AS              CE_QUOTA,
                   TO_CHAR(SUM(CASE
                                   WHEN T.AWC_TYPE ='ELUL_GENERAL'THEN
                                       NVL(AWC_QUOTA, 0)
                                   ELSE
                                       0
                       END/10000,
                           'fm999999999999999990.00'AS              ELUL_QUOTA,
                   SUM(CASE
                           WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                               NVL(AWC_QUOTA_ABLE, 0)
                           ELSE
                               0
                       END)                           AS              AWC_QUOTA_ABLE,
                   t.set_id,
                   t.set_name
            FROM (SELECT A.AWC_TYPE,
                         C.O_CODE,
                         C.O_NAME,
                         A.AWC_QUOTA,
                         A.OCC_QUOTA,
                         A.LIMIT_LINE_ABLE,
                         A.LIMIT_LINE_RATE,
                         A.LIMIT_LINE,
                         A.BASE_DATE,
                         A.DIM_OBJ_ID,
                         C.CUS_TYPE,
                         'DIM_CORP'AS DIM_CODE,
                         NULL       AS AWC_QUOTA_ABLE,
                         ''         AS IS_NEW_DATE,
                         c.set_id,
                         c.set_name
                  FROM (SELECT A.AWC_TYPE,
                               A.AWC_QUOTA,
                               A.OCC_QUOTA,
                               A.LIMIT_LINE_ABLE,
                               A.LIMIT_LINE_RATE,
                               A.LIMIT_LINE,
                               A.BASE_DATE,
                               A.DIM_OBJ_ID
                        FROM TAWC11111 A
                        WHERE A.BASE_DATE ='2024-04-01') A
                           INNERJOIN CORP11111 C
                                      ON A.DIM_OBJ_ID = C.DIM_OBJ_ID
                  WHERE A.BASE_DATE ='2024-04-01'
                  UNIONALL
                  SELECT A.AWC_TYPE,
                         B.CUST_CODE          AS O_CODE,
                         B.O_NAME ||'(组合)'AS NAME,
                         A.AWC_QUOTA,
                         A.OCC_QUOTA,
                         A.LIMIT_LINE_ABLE,
                         A.LIMIT_LINE_RATE,
                         A.LIMIT_LINE,
                         A.BASE_DATE,
                         A.DIM_OBJ_ID,
                         B.CUS_TYPE,
                         'DIM_PORT'           AS DIM_CODE,
                         A.AWC_QUOTA_ABLE,
                         CASE
                             WHEN C.MAX_BASE_DATE ='2024-04-01'THEN
                                 '1'
                             ELSE
                                 '0'
                             END              AS IS_NEW_DATE,
                         ''                   AS set_id,
                         ''                   AS set_name
                  FROM (SELECT A.AWC_TYPE,
                               A.AWC_QUOTA,
                               A.OCC_QUOTA,
                               A.LIMIT_LINE_ABLE,
                               A.LIMIT_LINE_RATE,
                               A.LIMIT_LINE,
                               A.BASE_DATE,
                               A.DIM_OBJ_ID,
                               A.AWC_QUOTA_ABLE
                        FROM TAWC11111 A
                        WHERE A.BASE_DATE ='2024-04-01') A
                           INNERJOIN PORT_11112 B
                                      ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                           LEFTJOIN (SELECTMAX(BASE_DATE) MAX_BASE_DATE
                                      FROM TAWC11111
                                      WHERE BASE_DATE <=
                                            TO_CHAR(SYSDATE, 'YYYY-MM-DD')) C
                                     ON1=1
                  WHERE A.BASE_DATE ='2024-04-01'
                    AND B.DIM_CODE ='DIM_PORT') T
            GROUPBY T.O_CODE,
                     T.O_NAME,
                     T.CUS_TYPE,
                     T.BASE_DATE,
                     T.DIM_OBJ_ID,
                     T.DIM_CODE,
                     T.IS_NEW_DATE,
                     t.set_id,
                     t.set_name) T1
               LEFTJOIN (SELECTSUM(ADJ_LINE) AS ADJ_LINE, O_CODE
                          FROM CREDIT9144
                          GROUPBY O_CODE) T2
                         ON T1.O_CODE = T2.O_CODE
               LEFTJOIN (SELECTSUM(ADJ_LINE) AS ADJ_LINE, DIM_OBJ_ID
                          FROM CREDIT9144
                          GROUPBY DIM_OBJ_ID) T3
                         ON T1.DIM_OBJ_ID = T3.DIM_OBJ_ID
               LEFTJOIN (SELECTSUM(ADJ_LINE) AS ADJ_LINE, SET_ID
                          FROM CREDIT9144
                          GROUPBY SET_ID) T4
                         ON T1.O_CODE = T4.SET_ID) T1
         LEFTJOIN (SELECT DIM_OBJ_ID,
                           WM_CONCAT(DISTINCT(TC.O_NAME)) ||'(组合)'AS                  PORT_NAME,
                           WM_CONCAT(DISTINCT(TD1.SD_NAME ||'-'|| TD2.SD_NAME ||'-'||
                                       TD3.SD_NAME)) PORT_DEPT,
                           WM_CONCAT(DISTINCT(T3.DIM_CLASS_NAME))                         PORT_CLASS
                    FROM DIM_9999 T1
                             LEFTJOIN TSYS_DEPT TD1
                                       ON T1.D_CORP = TD1.SD_ID
                             LEFTJOIN TSYS_DEPT TD2
                                       ON T1.D_DEPT = TD2.SD_ID
                             LEFTJOIN TSYS_DEPT TD3
                                       ON T1.D_BIZLINE = TD3.SD_ID
                             LEFTJOIN (SELECTDISTINCT DIM_CODE, DIM_CLASS_NAME
                                        FROM T9X2CC) T3
                                       ON T1.P_CLASS = T3.DIM_CODE
                             LEFTJOIN T2RRRR TC
                                       ON T1.CUST_CODE = TC.O_CODE
                    GROUPBY DIM_OBJ_ID) T2
                   ON T1.DIM_OBJ_ID = T2.DIM_OBJ_ID
         LEFTJOIN (SELECT*
                    FROM (SELECT T.*,
                                 ROW_NUMBER() OVER (PARTITIONBY T.O_CODE ORDERBY T.BASEDATE DESC, T.BEG_DATE DESC, IMP_TIME DESCAS SN
                          FROM TCRT_RESULT T
                          WHERE T.TMP_FLAG ='0'
                            AND T.BEG_DATE <='2024-04-01'
                            AND T.END_DATE >='2024-04-01') C
                    WHERE C.SN =1) T3
                   ON T1.O_CODE = T3.O_CODE;

SQL真实执行计划:

    #NSET2:  [160580,  1,  3942]  
        #PIPE2:  [160580,  1,  3942]  
            #PIPE2:  [160579,  1,  3942]  
                #PIPE2:  [160566,  1,  3942]  
                    #PRJT2:  [160557,  1,  3942];  exp_num(1),  is_atom(FALSE)  
                        #AAGR2:  [160557,  1,  3942];  grp_num(0),  sfun_num(1),  distinct_flag[0];  slave_empty(0)
                            #HASH  RIGHT  JOIN2:  [160557,  362511,  3942];  key_num(1),  ret_null(0),  KEY(T3.O_CODE=T1.O_CODE)
                                #PRJT2:  [24,  331,  528];  exp_num(1),  is_atom(FALSE)  
                                    #SLCT2:  [24,  331,  528];  C.SN  =  var15
                                       #PRJT2:  [24,  13278,  528];  exp_num(2),  is_atom(FALSE)  
                                           #AFUN:  [24,  13278,  528];  afun_num(1);  partition_num(1)[T.O_CODE];  order_num(3)[T.BASEDATE,  T.BEG_DATE,  T.IMP_TIME]
                                               #SORT3:  [24,  13278,  528];  key_num(4),  is_distinct(FALSE),  top_flag(0),  is_adaptive(0)
                                                   #SLCT2:  [24,  13278,  528];  (T.BEG_DATE  <='2024-04-01'AND  T.END_DATE  >='2024-04-01')
                                                       #BLKUP2:  [24,  13619,  528];  TCRT_RESULT_TMPFLAG(T)
                                                           #SSEK2:  [24,  13619,  528];  scan_type(ASC),  TCRT_RESULT_TMPFLAG(TCRT_RESULT  as  T),  scan_range['0','0']
                               #PRJT2:  [160355,  362511,  3414];  exp_num(1),  is_atom(FALSE)  
                                   #HASH  RIGHT  JOIN2:  [160355,  362511,  3414];  key_num(1),  ret_null(0),  KEY(T4.SET_ID=T1.O_CODE)
                                       #PRJT2:  [2,  1,  846];  exp_num(1),  is_atom(FALSE)  
                                           #HAGR2:  [2,  1,  846];  grp_num(1),  sfun_num(0);  slave_empty(0)  keys(CREDIT9144.SET_ID)  
                                               #HEAP  TABLE  SCAN:  [1,  4,  846];  table_no(0)  
                                       #HASH  RIGHT  JOIN2:  [160213,  362511,  2568];  key_num(1),  ret_null(0),  KEY(T3.DIM_OBJ_ID=T1.DIM_OBJ_ID)
                                           #PRJT2:  [2,  1,  846];  exp_num(1),  is_atom(FALSE)  
                                               #HAGR2:  [2,  1,  846];  grp_num(1),  sfun_num(0);  slave_empty(0)  keys(CREDIT9144.DIM_OBJ_ID)  
                                                   #HEAP  TABLE  SCAN:  [1,  4,  846];  table_no(0)  
                                           #HASH  RIGHT  JOIN2:  [160110,  362511,  1722];  key_num(1),  ret_null(0),  KEY(T2.O_CODE=T1.O_CODE)
                                               #PRJT2:  [2,  1,  846];  exp_num(1),  is_atom(FALSE)  
                                                   #HAGR2:  [2,  1,  846];  grp_num(1),  sfun_num(0);  slave_empty(0)  keys(CREDIT9144.O_CODE)  
                                                       #HEAP  TABLE  SCAN:  [1,  4,  846];  table_no(0)  
                                               #PRJT2:  [160045,  362511,  876];  exp_num(2),  is_atom(FALSE)  
                                                   #PRJT2:  [160045,  362511,  876];  exp_num(2),  is_atom(FALSE)  
                                                       #HAGR2:  [160045,  362511,  876];  grp_num(9),  sfun_num(0);  slave_empty(0)  keys(DMTEMPVIEW_896344366.TMPCOL0,  DMTEMPVIEW_896344366.TMPCOL1,  DMTEMPVIEW_896344366.TMPCOL2,  DMTEMPVIEW_896344366.TMPCOL3,  DMTEMPVIEW_896344366.TMPCOL4,  DMTEMPVIEW_896344366.TMPCOL5,  DMTEMPVIEW_896344366.TMPCOL6,  DMTEMPVIEW_896344366.TMPCOL7,  DMTEMPVIEW_896344366.TMPCOL8)  
                                                           #PRJT2:  [159784,  362511,  876];  exp_num(9),  is_atom(FALSE)  
                                                               #PRJT2:  [159784,  362511,  876];  exp_num(9),  is_atom(FALSE)  
                                                                   #UNIONALL:  [159784,  362511,  876]
                                                                       #PRJT2:  [2907,  362494,  876];  exp_num(9),  is_atom(FALSE)  
                                                                           #HASH2  INNERJOIN:  [2907,  362494,  876];    KEY_NUM(1);  KEY(A.DIM_OBJ_ID=C.DIM_OBJ_ID)  KEY_NULL_EQU(0)
                                                                               #PRJT2:  [95,  69566,  294];  exp_num(2),  is_atom(FALSE)  
                                                                                   #BLKUP2:  [95,  69566,  294];  TAWC_STATIC_RESULT_BASEDATE(A)
                                                                                       #SSEK2:  [95,  69566,  294];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE(TAWC11111  as  A),  scan_range['2024-04-01','2024-04-01']
                                                                               #PRJT2:  [2773,  172472,  582];  exp_num(6),  is_atom(FALSE)  
                                                                                   #HAGR2:  [2773,  172472,  582];  grp_num(8),  sfun_num(0);  slave_empty(0)  keys(T.O_CODE,  T.O_NAME,  T.CUS_TYPE,  T.O_TYPE,  T.SET_NAME,  T.SET_ID,  T.DIM_CODE,  T.DIM_OBJ_ID)  
                                                                                       #PRJT2:  [2015,  4081172,  582];  exp_num(8),  is_atom(FALSE)  
                                                                                           #UNIONALL:  [2015,  4081172,  582]
                                                                                               #PRJT2:  [845,  4081171,  582];  exp_num(8),  is_atom(FALSE)  
                                                                                                   #HASH  RIGHT  JOIN2:  [845,  4081171,  582];  key_num(2),  ret_null(0),  KEY(T2.SET_ID=T1.SET_ID  AND  T2.BASE_DATE=A.BASE_DATE)
                                                                                                       #CSCN2:  [23,  172472,  144];  INDEX33559059(TAXC45200  as  T2)
                                                                                                       #HASH  LEFT  JOIN2:  [239,  4081171,  582];  key_num(2),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(C.O_CODE=T1.O_CODE  AND  A.BASE_DATE=T1.BASE_DATE)
                                                                                                           #NEST  LOOP  INDEX  JOIN2:  [116,  1717,  582]  
                                                                                                               #SLCT2:  [105,  1717,  390];  B.DIM_CODE  ='DIM_CORP'
                                                                                                                   #NEST  LOOP  INDEX  JOIN2:  [105,  1717,  390]  
                                                                                                                       #PRJT2:  [91,  1717,  246];  exp_num(2),  is_atom(FALSE)  
                                                                                                                           #SLCT2:  [91,  1717,  246];  TAWC11111.AWC_QUOTA  >  var23
                                                                                                                               #BLKUP2:  [91,  68827,  246];  TAWC_STATIC_RESULT_BASEDATE(TAWC11111)
                                                                                                                                   #SSEK2:  [91,  68827,  246];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE(TAWC11111),  scan_range['2024-04-01','2024-04-01']
                                                                                                                       #BLKUP2:  [11,  1,  48];  INDEX33559829(B)
                                                                                                                           #SSEK2:  [11,  1,  48];  scan_type(ASC),  INDEX33559829(TAWC22222  as  B),  scan_range[A.DIM_OBJ_ID,A.DIM_OBJ_ID]
                                                                                                               #BLKUP2:  [11,  1,  48];  INDEX33558827(C)
                                                                                                                   #SSEK2:  [11,  1,  48];  scan_type(ASC),  INDEX33558827(T2RRRR  as  C),  scan_range[B.O_CODE,B.O_CODE]
                                                                                                           #CSCN2:  [75,  562125,  144];  INDEX33559061(VRG99999  as  T1)
                                                                                               #PRJT2:  [59,  1,  534];  exp_num(8),  is_atom(FALSE)  
                                                                                                   #SLCT2:  [59,  1,  534];  (A.BASE_DATE  =  T2.BASE_DATE  AND  A.DIM_OBJ_ID  =  B.DIM_OBJ_ID)
                                                                                                       #NEST  LOOP  INNER  JOIN2:  [59,  1,  534];  [with  var]
                                                                                                           #HASH2  INNERJOIN:  [40,  119,  288];    KEY_NUM(1);  KEY(T2.SET_ID=B.VRG_SET_ID)  KEY_NULL_EQU(0)
                                                                                                               #SLCT2:  [24,  1053,  144];  T2.BASE_DATE  ='2024-04-01'
                                                                                                                   #CSCN2:  [24,  172472,  144];  INDEX33559059(TAXC45200  as  T2)
                                                                                                               #BLKUP2:  [13,  11989,  144];  IDX_YHY_24011901_01(B)
                                                                                                                   #SSEK2:  [13,  11989,  144];  scan_type(ASC),  IDX_YHY_24011901_01(TAWC22222  as  B),  scan_range['DIM_VRG','DIM_VRG']
                                                                                                           #PRJT2:  [1,  1,  246];  exp_num(2),  is_atom(FALSE)  
                                                                                                               #SLCT2:  [1,  1,  246];  (TAWC11111.AWC_QUOTA  >  var24  AND  TAWC11111.BASE_DATE  =  var11)
                                                                                                                   #BLKUP2:  [1,  2,  246];  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111)
                                                                                                                       #SSEK2:  [1,  2,  246];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var12),('2024-04-01',var12)]
                                                                       #PRJT2:  [156751,  16,  1350];  exp_num(9),  is_atom(FALSE)  
                                                                           #NEST  LOOP  LEFT  JOIN2:  [156751,  16,  1350];  joincondition(  TRUE  )  partition_keys_num(0)  ret_null(0)
                                                                               #SLCT2:  [73,  16,  1302];  A.DIM_OBJ_ID  =  B.DIM_OBJ_ID
                                                                                   #NEST  LOOP  INNER  JOIN2:  [73,  16,  1302];  [with  var]
                                                                                       #PRJT2:  [71,  21,  978];  exp_num(4),  is_atom(FALSE)  
                                                                                           #SAGR2:  [71,  21,  978];  grp_num(2),  sfun_num(1),  distinct_flag[1];  slave_empty(0)  keys(A.DIM_OBJ_ID,  T2.SET_NAME)  
                                                                                               #SORT3:  [71,  21,  978];  key_num(2),  is_distinct(FALSE),  top_flag(0),  is_adaptive(0)
                                                                                                   #INDEX  JOINLEFT  JOIN2:  [70,  96,  978]  joincondition(T1.BASE_DATE  ='2024-04-01')  ret_null(0)
                                                                                                       #HASH  LEFT  JOIN2:  [69,  12,  978];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(C.O_CODE=T1.O_CODE)
                                                                                                           #HASH  LEFT  JOIN2:  [64,  12,  834];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(A.P_CLASS=D.DIM_CODE)
                                                                                                               #NEST  LOOP  INDEX  JOIN2:  [62,  9,  738]  
                                                                                                                   #PRJT2:  [61,  9,  642];  exp_num(3),  is_atom(FALSE)  
                                                                                                                       #DISTINCT:  [61,  9,  642]
                                                                                                                           #HASH2  INNERJOIN:  [60,  9,  642];    KEY_NUM(2);  KEY(A.DIM_OBJ_ID=B.DIM_OBJ_ID  AND  STATS.DIM_OBJ_ID=B.DIM_OBJ_ID)  KEY_NULL_EQU(0,  0)
                                                                                                                               #SLCT2:  [59,  2,  354];  STATS.DIM_OBJ_ID  =  A.DIM_OBJ_ID
                                                                                                                                   #NEST  LOOP  INNER  JOIN2:  [59,  2,  354];  [with  var]
                                                                                                                                       #BLKUP2:  [1,  52,  96];  IDX_YHY_24011901_01(A)
                                                                                                                                           #SSEK2:  [1,  52,  96];  scan_type(ASC),  IDX_YHY_24011901_01(TAWC22222  as  A),  scan_range['DIM_PORT','DIM_PORT']
                                                                                                                                       #PRJT2:  [1,  2,  258];  exp_num(1),  is_atom(FALSE)  
                                                                                                                                           #UNIONFOR  OR2:  [1,  2,  258];  key_num(1),  outer_join(-)
                                                                                                                                               #SLCT2:  [1,  1,  258];  TAWC11111.LIMIT_LINE  >  var26
                                                                                                                                                   #BLKUP2:  [1,  2,  258];  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111)
                                                                                                                                                       #SSEK2:  [1,  2,  258];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var14),('2024-04-01',var14)]
                                                                                                                                               #SLCT2:  [1,  1,  258];  TAWC11111.AWC_QUOTA  >  var27
                                                                                                                                                   #BLKUP2:  [1,  2,  258];  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111)
                                                                                                                                                       #SSEK2:  [1,  2,  258];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var14),('2024-04-01',var14)]
                                                                                                                               #CSCN2:  [1,  374,  288];  INDEX33559058(DIM_9999  as  B)
                                                                                                                   #BLKUP2:  [1,  1,  48];  INDEX33558827(C)
                                                                                                                      #SSEK2:  [1,  1,  48];  scan_type(ASC),  INDEX33558827(T2RRRR  as  C),  scan_range[A.CUST_CODE,A.CUST_CODE]
                                                                                                              #PRJT2:  [1,  98,  96];  exp_num(1),  is_atom(FALSE)  
                                                                                                                  #SORT3:  [1,  98,  96];  key_num(2),  is_distinct(TRUE),  top_flag(0),  is_adaptive(0)
                                                                                                                      #CSCN2:  [1,  98,  96];  INDEX33559770(T9X2CC)
                                                                                                          #BLKUP2:  [4,  3429,  144];  TAWC_VRG_SET_ITEM_BASEDATE(T1)
                                                                                                              #SSEK2:  [4,  3429,  144];  scan_type(ASC),  TAWC_VRG_SET_ITEM_BASEDATE(VRG99999  as  T1),  scan_range['2024-04-01','2024-04-01']
                                                                                                      #BLKUP2:  [1,  8,  48];  INDEX33559689(T2)
                                                                                                          #SSEK2:  [1,  8,  48];  scan_type(ASC),  INDEX33559689(TAXC45200  as  T2),  scan_range[(T1.SET_ID,min),(T1.SET_ID,max))
                                                                                      #PRJT2:  [1,  2,  324];  exp_num(2),  is_atom(FALSE)  
                                                                                          #SSEK2:  [1,  2,  324];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111  as  A),  scan_range[('2024-04-01',var13),('2024-04-01',var13)]
                                                                              #PRJT2:  [793,  1,  48];  exp_num(1),  is_atom(FALSE)  
                                                                                  #AAGR2:  [793,  1,  48];  grp_num(0),  sfun_num(1),  distinct_flag[0];  slave_empty(0)
                                                                                      #SLCT2:  [793,  6453684,  48];  TAWC11111.BASE_DATE  <=  var29
                                                                                          #SSCN:  [793,  6385120,  48];  TAWC_STATIC_RESULT_BASEDATE(TAWC11111)
                  #HEAP  TABLE:  [8,  4,  846];  table_no(0)  full(0),  mpp_full(0)  autoid(0),  sites(-)
                      #PRJT2:  [8,  4,  846];  exp_num(3),  is_atom(FALSE)  
                          #UNIONFOR  OR2:  [8,  4,  846];  key_num(1),  outer_join(-)
                              #UNIONFOR  OR2:  [5,  3,  846];  key_num(1),  outer_join(-)
                                  #UNIONFOR  OR2:  [2,  2,  846];  key_num(1),  outer_join(-)
                                      #HASH  RIGHT  SEMI  JOIN2:  [1,  1,  846];  n_keys(1)  KEY(DMTEMPVIEW_896344441.colname=DMTEMPVIEW_896344370.TMPCOL5)  KEY_NULL_EQU(0)
                                          #CONST  VALUE  LIST:  [1,  2,  48];  row_num(2),  col_num(1),  
                                          #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896344370.TMPCOL7  ISNULL
                                              #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                      #HASH  RIGHT  SEMI  JOIN2:  [1,  1,  846];  n_keys(1)  KEY(DMTEMPVIEW_896344442.colname=DMTEMPVIEW_896344370.TMPCOL5)  KEY_NULL_EQU(0)
                                          #CONST  VALUE  LIST:  [1,  2,  48];  row_num(2),  col_num(1),  
                                          #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896344370.TMPCOL7  >'2024-04-01'
                                              #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                  #HASH  LEFT  SEMI  JOIN2:  [1,  1,  846];  KEY_NUM(1);    KEY(DMTEMPVIEW_896344370.TMPCOL1=CFLSSX.INST_ID)  KEY_NULL_EQU(0)
                                      #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896344370.TMPCOL7  ISNULL
                                          #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                      #SLCT2:  [1,  52,  96];  CFLSSX.AWC_CREDIT_FLAG  ='1'
                                          #CSCN2:  [1,  208,  96];  INDEX33559053(CFLSSX)
                              #HASH  LEFT  SEMI  JOIN2:  [1,  1,  846];  KEY_NUM(1);    KEY(DMTEMPVIEW_896344370.TMPCOL1=CFLSSX.INST_ID)  KEY_NULL_EQU(0)
                                  #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896344370.TMPCOL7  >'2024-04-01'
                                      #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                  #SLCT2:  [1,  52,  96];  CFLSSX.AWC_CREDIT_FLAG  ='1'
                                      #CSCN2:  [1,  208,  96];  INDEX33559053(CFLSSX)
              #HEAP  TABLE:  [13,  1,  846];  table_no(1)  full(0),  mpp_full(0)  autoid(1),  sites(-)
                  #HASH  LEFT  JOIN2:  [13,  1,  846];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(T2.O_CODE=T5.O_CODE)
                      #INDEX  JOINLEFT  JOIN2:  [8,  1,  702]    ret_null(0)
                          #HASH  LEFT  JOIN2:  [8,  1,  702];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(T1.INST_ID=T3.INST_ID)
                              #NEST  LOOP  INDEX  JOIN2:  [7,  1,  558]  
                                  #SLCT2:  [7,  1,  462];  (T1.DATA_SOURCE  ='ADJ'AND  T1.TMP_FLAG  ='0'AND  T1.AWC_TYPE  ='AWC_CREDIT'AND  T1.ADJ_BEG_DATE  <='2024-04-01')
                                      #CSCN2:  [7,  33528,  462];  INDEX33559064(TAWXV999  as  T1)
                                  #BLKUP2:  [1,  1,  48];  INDEX33559829(T2)
                                      #SSEK2:  [1,  1,  48];  scan_type(ASC),  INDEX33559829(TAWC22222  as  T2),  scan_range[T1.DIM_OBJ_ID,T1.DIM_OBJ_ID]
                              #SLCT2:  [1,  22,  144];  (T3.AWC_TYPE  >='AWC'AND  T3.AWC_TYPE  <'AWD'AND  T3.AWC_TYPE  LIKE'AWC_%')
                                  #CSCN2:  [1,  505,  144];  INDEX33559057(TAWC_RESULT_DETAIL  as  T3)
                          #SSEK2:  [1,  1,  48];  scan_type(ASC),  INDEX33559829(TAWC22222  as  T4),  scan_range[T3.DIM_OBJ_ID,T3.DIM_OBJ_ID]
                      #BLKUP2:  [4,  3429,  144];  TAWC_VRG_SET_ITEM_BASEDATE(T5)
                          #SSEK2:  [4,  3429,  144];  scan_type(ASC),  TAWC_VRG_SET_ITEM_BASEDATE(VRG99999  as  T5),  scan_range['2024-04-01','2024-04-01']
          #SPL2:  [1,  1,  96];  key_num(1),  spool_num(0),  is_atom(TRUE),  has_var(1),  sites(-)
              #PRJT2:  [1,  1,  96];  exp_num(1),  is_atom(TRUE)  
                  #AAGR2:  [1,  1,  96];  grp_num(0),  sfun_num(1),  distinct_flag[0];  slave_empty(0)
                      #PRJT2:  [1,  1,  96];  exp_num(1),  is_atom(FALSE)  
                          #SLCT2:  [1,  1,  96];  exp_sfun1  <=  var32
                              #SAGR2:  [1,  7,  96];  grp_num(1),  sfun_num(3),  distinct_flag[1,0,0];  slave_empty(0)  keys(TN.DIM_OBJ_ID)  
                                  #SORT3:  [1,  7,  96];  key_num(1),  is_distinct(FALSE),  top_flag(0),  is_adaptive(0)
                                      #SLCT2:  [1,  7,  96];  TN.DIM_OBJ_ID  =  var10
                                          #CSCN2:  [1,  374,  96];  INDEX33559058(DIM_9999  as  TN)



--ET
LINEID     OP         TIME(US)             PERCENT RANK                 SEQ         N_ENTER     MEM_USED(KB)         DISK_USED(KB)        HASH_USED_CELLS      HASH_CONFLICT        DHASH3_USED_CELLS DHASH3_CONFLICT HASH_SAME_VALUE     
---------- ---------- -------------------- ------- -------------------- ----------- ----------- -------------------- -------------------- -------------------- -------------------- ----------------- --------------- --------------------
1          HSCN       1                    0%      145                  126         2           0                    0                    0                    0                    NULL              NULL            0
2          PRJT2      1                    0%      145                  22          4           0                    0                    0                    0                    NULL              NULL            0
3          SPL2       1                    0%      145                  151         1           0                    0                    0                    0                    NULL              NULL            0
4          PRJT2      1                    0%      145                  16          6           0                    0                    0                    0                    NULL              NULL            0
5          PRJT2      1                    0%      145                  29          6           0                    0                    0                    0                    NULL              NULL            0
6          PRJT2      1                    0%      145                  40          6           0                    0                    0                    0                    NULL              NULL            0
7          HSCN       1                    0%      145                  122         2           0                    0                    0                    0                    NULL              NULL            0
8          PRJT2      1                    0%      145                  18          4           0                    0                    0                    0                    NULL              NULL            0
9          CONSTV     2                    0%      139                  120         2           0                    0                    0                    0                    NULL              NULL            0
10         PIPE2      2                    0%      139                  4           5           0                    0                    0                    0                    NULL              NULL            0
11         PRJT2      2                    0%      139                  5           4           0                    0                    0                    0                    NULL              NULL            0
12         PRJT2      2                    0%      139                  30          6           0                    0                    0                    0                    NULL              NULL            0
13         PIPE2      2                    0%      139                  2           5           0                    0                    0                    0                    NULL              NULL            0
14         PRJT2      2                    0%      139                  83          4           0                    0                    0                    0                    NULL              NULL            0
15         PIPE2      3                    0%      132                  3           5           0                    0                    0                    0                    NULL              NULL            0
16         HSCN       3                    0%      132                  24          2           0                    0                    0                    0                    NULL              NULL            0
17         HSCN       3                    0%      132                  20          3           0                    0                    0                    0                    NULL              NULL            0
18         PRJT2      3                    0%      132                  101         4           0                    0                    0                    0                    NULL              NULL            0
19         PRJT2      3                    0%      132                  26          4           0                    0                    0                    0                    NULL              NULL            0
20         HSCN       3                    0%      132                  28          2           0                    0                    0                    0                    NULL              NULL            0
21         HSCN       3                    0%      132                  129         2           0                    0                    0                    0                    NULL              NULL            0
22         UNION_OR2  4                    0%      128                  118         5           0                    0                    0                    0                    NULL              NULL            0
23         CONSTV     4                    0%      128                  124         2           0                    0                    0                    0                    NULL              NULL            0
24         PRJT2      4                    0%      128                  115         8           0                    0                    0                    0                    NULL              NULL            0
25         SLCT2      4                    0%      128                  121         4           0                    0                    0                    0                    NULL              NULL            0
26         AAGR2      5                    0%      126                  6           5           0                    0                    0                    0                    NULL              NULL            0
27         HSCN       5                    0%      126                  134         3           0                    0                    0                    0                    NULL              NULL            0
28         DLCK       6                    0%      124                  0           2           0                    0                    0                    0                    NULL              NULL            0
29         SLCT2      6                    0%      124                  128         4           0                    0                    0                    0                    NULL              NULL            0
30         PRJT2      7                    0%      122                  44          26          0                    0                    0                    0                    NULL              NULL            0
31         SLCT2      7                    0%      122                  125         4           0                    0                    0                    0                    NULL              NULL            0
32         PRJT2      10                   0%      121                  8           90          0                    0                    0                    0                    NULL              NULL            0
33         SLCT2      11                   0%      119                  135         2           0                    0                    0                    0                    NULL              NULL            0
34         SLCT2      11                   0%      119                  130         4           0                    0                    0                    0                    NULL              NULL            0
35         SLCT2      16                   0%      118                  133         4           0                    0                    0                    0                    NULL              NULL            0
36         UNION_OR2  17                   0%      115                  117         7           0                    0                    0                    0                    NULL              NULL            0
37         PRJT2      17                   0%      115                  10          90          0                    0                    0                    0                    NULL              NULL            0
38         SLCT2      17                   0%      115                  86          44          0                    0                    0                    0                    NULL              NULL            0
39         HRS2       19                   0%      113                  119         6           224                  0                    2                    0                    NULL              NULL            0
40         HTAB       19                   0%      113                  114         6           0                    0                    0                    0                    NULL              NULL            0
41         UNION_OR2  20                   0%      112                  116         9           0                    0                    0                    0                    NULL              NULL            0
42         PRJT2      21                   0%      111                  33          56          0                    0                    0                    0                    NULL              NULL            0
43         PRJT2      22                   0%      110                  108         88          0                    0                    0                    0                    NULL              NULL            0
44         PRJT2      23                   0%      109                  32          56          0                    0                    0                    0                    NULL              NULL            0
45         SSEK2      27                   0%      108                  89          2           0                    0                    0                    0                    NULL              NULL            0
46         CSCN2      28                   0%      106                  103         2           0                    0                    0                    0                    NULL              NULL            0
47         PRJT2      28                   0%      106                  90          146         0                    0                    0                    0                    NULL              NULL            0
48         PRJT2      29                   0%      105                  76          44          0                    0                    0                    0                    NULL              NULL            0
49         UNION_OR2  33                   0%      104                  91          198         0                    0                    0                    0                    NULL              NULL            0
50         UNION_ALL2 36                   0%      102                  34          57          0                    0                    0                    0                    NULL              NULL            0
51         UNION_ALL2 36                   0%      102                  43          269         0                    0                    0                    0                    NULL              NULL            0
52         HRS2       39                   0%      101                  123         5           224                  0                    2                    0                    NULL              NULL            0
53         NLI2       43                   0%      100                  87          97          0                    0                    0                    0                    NULL              NULL            0
54         IJLO2      50                   0%      99                   139         244         0                    0                    0                    0                    NULL              NULL            0
55         HTAB       52                   0%      98                   137         12          0                    0                    0                    0                    NULL              NULL            0
56         PRJT2      61                   0%      97                   42          268         0                    0                    0                    0                    NULL              NULL            0
57         SLCT2      71                   0%      95                   74          46          0                    0                    0                    0                    NULL              NULL            0
58         SLCT2      71                   0%      95                   92          125         0                    0                    0                    0                    NULL              NULL            0
59         SLCT2      73                   0%      94                   95          146         0                    0                    0                    0                    NULL              NULL            0
60         CSCN2      74                   0%      93                   136         1           0                    0                    0                    0                    NULL              NULL            0
61         PRJT2      75                   0%      92                   110         88          0                    0                    0                    0                    NULL              NULL            0
62         CSCN2      77                   0%      90                   131         2           0                    0                    0                    0                    NULL              NULL            0
63         IJI2       77                   0%      90                   141         260         0                    0                    0                    0                    NULL              NULL            0
64         SLCT2      88                   0%      89                   146         6           0                    0                    0                    0                    NULL              NULL            0
65         PRJT2      89                   0%      88                   51          400         0                    0                    0                    0                    NULL              NULL            0
66         PRJT2      96                   0%      87                   37          462         0                    0                    0                    0                    NULL              NULL            0
67         BLKUP2     104                  0%      86                   93          146         0                    0                    0                    0                    NULL              NULL            0
68         NLI2       116                  0%      85                   75          89          0                    0                    0                    0                    NULL              NULL            0
69         SLCT2      121                  0%      84                   9           90          0                    0                    0                    0                    NULL              NULL            0
70         CSCN2      122                  0%      83                   147         3           0                    0                    0                    0                    NULL              NULL            0
71         NLLO2      124                  0%      82                   73          90          0                    0                    0                    0                    NULL              NULL            0
72         SLCT2      134                  0%      81                   61          244         0                    0                    0                    0                    NULL              NULL            0
73         CSCN2      136                  0%      79                   98          3           0                    0                    0                    0                    NULL              NULL            0
74         BLKUP2     136                  0%      79                   96          146         0                    0                    0                    0                    NULL              NULL            0
75         DIST       138                  0%      78                   84          5           17                   0                    242                  34                   NULL              NULL            0
76         IJI2       144                  0%      77                   82          831         0                    0                    0                    0                    NULL              NULL            0
77         PRJT2      151                  0%      76                   60          244         0                    0                    0                    0                    NULL              NULL            0
78         BLKUP2     154                  0%      75                   88          4           0                    0                    0                    0                    NULL              NULL            0
79         SORT3      226                  0%      74                   102         4           49472                0                    0                    0                    NULL              NULL            0
80         HAGR2      230                  0%      73                   27          4           1654                 0                    64                   0                    NULL              NULL            0
81         NSET2      241                  0%      72                   1           3           0                    0                    0                    0                    NULL              NULL            0
82         HAGR2      254                  0%      71                   19          4           1653                 0                    46                   0                    NULL              NULL            0
83         HAGR2      259                  0%      70                   23          4           1654                 0                    69                   0                    NULL              NULL            0
84         SLCT2      261                  0%      69                   142         118         0                    0                    0                    0                    NULL              NULL            0
85         PRJT2      368                  0%      68                   68          2310        0                    0                    0                    0                    NULL              NULL            0
86         SSEK2      377                  0%      67                   94          73          0                    0                    0                    0                    NULL              NULL            0
87         PRJT2      391                  0%      66                   72          46          0                    0                    0                    0                    NULL              NULL            0
88         IJI2       409                  0%      65                   48          2410        0                    0                    0                    0                    NULL              NULL            0
89         SSEK2      473                  0%      64                   150         13          0                    0                    0                    0                    NULL              NULL            0
90         SLCT2      476                  0%      63                   13          96          0                    0                    0                    0                    NULL              NULL            0
91         BLKUP2     486                  0%      62                   144         340         0                    0                    0                    0                    NULL              NULL            0
92         SSEK2      491                  0%      61                   105         13          0                    0                    0                    0                    NULL              NULL            0
93         SSEK2      560                  0.01%   60                   97          73          0                    0                    0                    0                    NULL              NULL            0
94         PRJT2      603                  0.01%   59                   35          12          0                    0                    0                    0                    NULL              NULL            0
95         SSEK2      646                  0.01%   58                   148         155         0                    0                    0                    0                    NULL              NULL            0
96         NLI2       699                  0.01%   57                   62          1291        0                    0                    0                    0                    NULL              NULL            0
97         SSEK2      774                  0.01%   56                   145         170         0                    0                    0                    0                    NULL              NULL            0
98         HAGR2      869                  0.01%   55                   41          137         1668                 0                    424                  0                    NULL              NULL            0
99         IJI2       884                  0.01%   54                   50          5424        0                    0                    0                    0                    NULL              NULL            0
100        SSEK2      906                  0.01%   53                   109         44          0                    0                    0                    0                    NULL              NULL            0
101        HRO2       916                  0.01%   52                   25          8           11950                0                    64                   0                    NULL              NULL            0
102        BLKUP2     929                  0.01%   51                   99          1104        0                    0                    0                    0                    NULL              NULL            0
103        HRO2       944                  0.01%   50                   17          8           11950                0                    46                   0                    NULL              NULL            0
104        HI3        957                  0.01%   49                   85          28          16046                0                    21                   0                    NULL              NULL            0
105        HLS2       971                  0.01%   48                   132         5           16558                0                    8                    0                    NULL              NULL            0
106        HRO2       982                  0.01%   47                   21          8           11950                0                    69                   0                    NULL              NULL            0
107        SLCT2      1025                 0.01%   46                   52          431         0                    0                    0                    0                    NULL              NULL            0
108        HLS2       1088                 0.01%   45                   127         6           16558                0                    73                   0                    NULL              NULL            0
109        AFUN       1126                 0.01%   44                   11          90          0                    0                    0                    0                    NULL              NULL            0
110        SLCT2      1326                 0.01%   43                   49          2345        0                    0                    0                    0                    NULL              NULL            0
111        SSEK2      1540                 0.01%   42                   100         552         0                    0                    0                    0                    NULL              NULL            0
112        SSEK2      1649                 0.01%   41                   67          41          0                    0                    0                    0                    NULL              NULL            0
113        HAGR2      1751                 0.02%   40                   31          31          1669                 0                    444                  1                    NULL              NULL            0
114        SLCT2      1759                 0.02%   39                   69          3223        0                    0                    0                    0                    NULL              NULL            0
115        SSEK2      1867                 0.02%   38                   15          48          0                    0                    0                    0                    NULL              NULL            0
116        SLCT2      1901                 0.02%   37                   64          585         0                    0                    0                    0                    NULL              NULL            0
117        HRO2       2055                 0.02%   36                   7           51          11950                0                    13017                158                  NULL              NULL            0
118        HI3        2124                 0.02%   35                   63          60          16046                0                    1047                 0                    NULL              NULL            0
119        SAGR2      2598                 0.02%   34                   77          92          0                    0                    0                    0                    NULL              NULL            0
120        SSEK2      2658                 0.02%   33                   107         524         0                    0                    0                    0                    NULL              NULL            0
121        HLO2       3097                 0.03%   32                   81          281         16558                0                    13                   0                    NULL              NULL            275
122        HLO2       3193                 0.03%   31                   140         92          16558                0                    84                   0                    NULL              NULL            0
123        HLO2       3272                 0.03%   30                   138         108         12462                0                    65                   0                    NULL              NULL            29
124        BLKUP2     3375                 0.03%   29                   57          2408        0                    0                    0                    0                    NULL              NULL            0
125        HLO2       3396                 0.03%   28                   80          21          12462                0                    20                   0                    NULL              NULL            275
126        SSEK2      4182                 0.04%   27                   58          1204        0                    0                    0                    0                    NULL              NULL            0
127        IJLO2      4622                 0.04%   26                   79          807         0                    0                    0                    0                    NULL              NULL            0
128        BLKUP2     7286                 0.07%   25                   70          4136        0                    0                    0                    0                    NULL              NULL            0
129        SORT3      7495                 0.07%   24                   12          93          59392                0                    0                    0                    NULL              NULL            0
130        BLKUP2     7522                 0.07%   23                   149         26          0                    0                    0                    0                    NULL              NULL            0
131        BLKUP2     7943                 0.07%   22                   104         26          0                    0                    0                    0                    NULL              NULL            0
132        BLKUP2     8173                 0.07%   21                   55          6964        0                    0                    0                    0                    NULL              NULL            0
133        SSEK2      9143                 0.08%   20                   54          231         0                    0                    0                    0                    NULL              NULL            0
134        SSEK2      9206                 0.08%   19                   39          231         0                    0                    0                    0                    NULL              NULL            0
135        SSEK2      10375                0.09%   18                   71          2068        0                    0                    0                    0                    NULL              NULL            0
136        SORT3      10605                0.1%    17                   78          347         116736               0                    0                    0                    NULL              NULL            0
137        CSCN2      11154                0.1%    16                   143         113         0                    0                    0                    0                    NULL              NULL            0
138        HI3        12422                0.11%   15                   36          240         40622                0                    27630                698                  NULL              NULL            62610
139        SSEK2      14431                0.13%   14                   56          3482        0                    0                    0                    0                    NULL              NULL            0
140        BLKUP2     26941                0.24%   13                   66          82          0                    0                    0                    0                    NULL              NULL            0
141        BLKUP2     33447                0.3%    12                   14          96          0                    0                    0                    0                    NULL              NULL            0
142        CSCN2      36753                0.33%   11                   46          580         0                    0                    0                    0                    NULL              NULL            0
143        CSCN2      37268                0.34%   10                   65          580         0                    0                    0                    0                    NULL              NULL            0
144        HRO2       37567                0.34%   9                    45          606         73971                0                    161179               12340                NULL              NULL            0
145        HLO2       41093                0.37%   8                    47          2503        12718                0                    303                  0                    NULL              NULL            597
146        BLKUP2     44604                0.4%    7                    106         1048        0                    0                    0                    0                    NULL              NULL            0
147        CSCN2      124217               1.12%   6                    59          1887        0                    0                    0                    0                    NULL              NULL            0
148        BLKUP2     156910               1.41%   5                    38          462         0                    0                    0                    0                    NULL              NULL            0
149        BLKUP2     166844               1.5%    4                    53          462         0                    0                    0                    0                    NULL              NULL            0
150        AAGR2      1555430              14%     3                    111         473352      0                    0                    0                    0                    NULL              NULL            0
151        SLCT2      1986956              17.89%2                    112         946616      0                    0                    0                    0                    NULL              NULL            0
152        SSCN       6673379              60.09%1                    113         473308      0                    0                    0                    0                    NULL              NULL            0
152rows got

只返回一条数据 Success, cost 11 second(s)663 millsecond(s). 执行时间 11秒左右。

平时简单的SQL基本不用看执行计划大概都能知道哪里慢的,但是像这种看着是挺复杂的,也不知道慢在哪,DM执行计划就算难看也要分析了。****🤣

从 DM 的 ET 工具可以看到本条SQL最慢的在 152行,SSCN 占了 整条SQL 60%的时间,对应执行计划中 #SSCN: [793, 6385120, 48]; TAWC_STATIC_RESULT_BASEDATE(TAWC11111)

SSCN 是什么意思各位读者同学感兴趣的可以自己去 DM 官网查查,反正我不知道,但是我知道哪里慢,下面这段很慢,要 11秒。

          SELECT T.O_CODE AS ID,
                       T.O_NAME AS CORP_NAME,
                       (SELECTMAX(PARENTID) PARENTID
                          FROM (SELECTCASEMAX(DIM_OBJ_ID)
                                         WHENNULLTHEN
                                          ''
                                         ELSE
                                          MAX(TN.CUST_CODE)
                                       END PARENTID
                                  FROM DIM_9999 TN
                                 WHERE TN.DIM_OBJ_ID = T.DIM_OBJ_ID
                                 GROUPBY TN.DIM_OBJ_ID
                                HAVINGCOUNT(DISTINCT(CUST_CODE)) <=1) A) PARENTID,
                       T.O_CODE,
                       T.BASE_DATE,
                       T.DIM_OBJ_ID,
                       T.CUS_TYPE,
                       T.O_NAME AS CUS_NAME,
                       T.DIM_CODE,
                       T.IS_NEW_DATE,
                       TO_CHAR(SUM(CASE
                                     WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                      NVL(LIMIT_LINE, 0)
                                     ELSE
                                      0
                                   END/10000,
                               'fm999999999999999990.00'AS LIMIT_LINE,
                       TO_CHAR(SUM(CASE
                                     WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                      NVL(AWC_QUOTA, 0)
                                     ELSE
                                      0
                                   END/10000,
                               'fm999999999999999990.00'AS AWC_QUOTA,
                       TO_CHAR(SUM(CASE
                                     WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                      NVL(OCC_QUOTA, 0)
                                     ELSE
                                      0
                                   END/10000,
                               'fm999999999999999990.00'AS OCC_QUOTA,
                       TO_CHAR(SUM(CASE
                                     WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                      NVL(LIMIT_LINE_RATE, 0*100
                                     ELSE
                                      0
                                   END),
                               'fm999999999999999990.00'AS LIMIT_LINE_RATE,
                       TO_CHAR(GREATEST(SUM(CASE
                                              WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                                               NVL(LIMIT_LINE_ABLE, 0)
                                              ELSE
                                               0
                                            END/10000,
                                        0),
                               'fm999999999999999990.00'AS LIMIT_LINE_ABLE,
                       TO_CHAR(SUM(CASE
                                     WHEN T.AWC_TYPE ='CE_GENERAL'THEN
                                      NVL(AWC_QUOTA, 0)
                                     ELSE
                                      0
                                   END/10000,
                               'fm999999999999999990.00'AS CE_QUOTA,
                       TO_CHAR(SUM(CASE
                                     WHEN T.AWC_TYPE ='ELUL_GENERAL'THEN
                                      NVL(AWC_QUOTA, 0)
                                     ELSE
                                      0
                                   END/10000,
                               'fm999999999999999990.00'AS ELUL_QUOTA,
                       SUM(CASE
                             WHEN T.AWC_TYPE ='AWC_GENERAL'THEN
                              NVL(AWC_QUOTA_ABLE, 0)
                             ELSE
                              0
                           ENDAS AWC_QUOTA_ABLE,
                       t.set_id,
                       t.set_name
                  FROM (SELECT A.AWC_TYPE,
                               C.O_CODE,
                               C.O_NAME,
                               A.AWC_QUOTA,
                               A.OCC_QUOTA,
                               A.LIMIT_LINE_ABLE,
                               A.LIMIT_LINE_RATE,
                               A.LIMIT_LINE,
                               A.BASE_DATE,
                               A.DIM_OBJ_ID,
                               C.CUS_TYPE,
                               'DIM_CORP'AS DIM_CODE,
                               NULLAS AWC_QUOTA_ABLE,
                               ''AS IS_NEW_DATE,
                               c.set_id,
                               c.set_name
                          FROM (SELECT A.AWC_TYPE,
                                       A.AWC_QUOTA,
                                       A.OCC_QUOTA,
                                       A.LIMIT_LINE_ABLE,
                                       A.LIMIT_LINE_RATE,
                                       A.LIMIT_LINE,
                                       A.BASE_DATE,
                                       A.DIM_OBJ_ID
                                  FROM TAWC11111 A
                                 WHERE A.BASE_DATE ='2024-04-01') A
                         INNERJOIN CORP11111 C
                            ON A.DIM_OBJ_ID = C.DIM_OBJ_ID
                         WHERE A.BASE_DATE ='2024-04-01'
                        UNIONALL
                        SELECT A.AWC_TYPE,
                               B.CUST_CODE AS O_CODE,
                               B.O_NAME ||'(组合)'AS NAME,
                               A.AWC_QUOTA,
                               A.OCC_QUOTA,
                               A.LIMIT_LINE_ABLE,
                               A.LIMIT_LINE_RATE,
                               A.LIMIT_LINE,
                               A.BASE_DATE,
                               A.DIM_OBJ_ID,
                               B.CUS_TYPE,
                               'DIM_PORT'AS DIM_CODE,
                               A.AWC_QUOTA_ABLE,
                               CASE
                                 WHEN C.MAX_BASE_DATE ='2024-04-01'THEN
                                  '1'
                                 ELSE
                                  '0'
                               ENDAS IS_NEW_DATE,
                               ''AS set_id,
                               ''AS set_name
                          FROM (SELECT A.AWC_TYPE,
                                       A.AWC_QUOTA,
                                       A.OCC_QUOTA,
                                       A.LIMIT_LINE_ABLE,
                                       A.LIMIT_LINE_RATE,
                                       A.LIMIT_LINE,
                                       A.BASE_DATE,
                                       A.DIM_OBJ_ID,
                                       A.AWC_QUOTA_ABLE
                                  FROM TAWC11111 A
                                 WHERE A.BASE_DATE ='2024-04-01') A
                         INNERJOIN PORT_11112 B
                            ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                          LEFTJOIN (SELECTMAX(BASE_DATE) MAX_BASE_DATE
                                      FROM TAWC11111
                                     WHERE BASE_DATE <=
                                           TO_CHAR(SYSDATE, 'YYYY-MM-DD')) C
                            ON1=1
                         WHERE A.BASE_DATE ='2024-04-01'
                           AND B.DIM_CODE ='DIM_PORT') T
                 GROUPBY T.O_CODE,
                          T.O_NAME,
                          T.CUS_TYPE,
                          T.BASE_DATE,
                          T.DIM_OBJ_ID,
                          T.DIM_CODE,
                          T.IS_NEW_DATE,
                          t.set_id,
                          t.set_name

看到现在应该会有杠精同学问我,那这里为什么会慢?是不是写SQL的研发太垃圾了?还是DM数据库太垃圾了?

可以明确回答,因为我看不懂 DM 的执行计划所以不知道上面为什么慢,不知道CBO做了什么查询转换这些动作。

但是可以明确的是,写SQL开发不垃圾,能写出这么复杂的统计SQL也是很厉害的。

但是DM与其他库存在差异,执行计划让人看不懂这就说不过去了,DM的执行计划是我目前遇到数据库中最难看懂的计划,就像上面的SQL,想分析些CBO做了什么查询转换都分析不了,因为看不懂,只能靠猜。


SQL改写优化:

WITH CORP11111 AS
         (SELECT T.O_CODE,
                 T.O_NAME,
                 T.CUS_TYPE,
                 T.O_TYPE,
                 T.SET_NAME,
                 T.SET_ID,
                 T.DIM_CODE,
                 T.DIM_OBJ_ID
          FROM (SELECT C.O_CODE,
                       C.CUS_TYPE,
                       C.O_TYPE,
                       C.O_NAME,
                       T2.SET_NAME,
                       T2.SET_ID,
                       B.DIM_CODE,
                       B.DIM_OBJ_ID,
                       ''AS D_DEPT,
                       ''AS D_NAME,
                       ''AS D_BIZLINE,
                       ''AS P_CLASS,
                       ''AS P_CLASS_NAME
                FROM (SELECT DIM_OBJ_ID,
                             BASE_DATE,
                             LIMIT_LINE,
                             AWC_QUOTA,
                             OCC_QUOTA,
                             LIMIT_LINE_ABLE,
                             LIMIT_LINE_RATE
                      FROM TAWC11111
                      WHERE BASE_DATE ='2024-04-01') A
                         INNERJOIN TAWC22222 B
                                    ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                         INNERJOIN T2RRRR C
                                    ON B.O_CODE = C.O_CODE
                         LEFTJOIN VRG99999 T1
                                   ON C.O_CODE = T1.O_CODE
                                       AND T1.BASE_DATE = A.BASE_DATE
                         LEFTJOIN TAXC45200 T2
                                   ON T1.SET_ID = T2.SET_ID
                                       AND T2.BASE_DATE = A.BASE_DATE
                WHERE A.BASE_DATE ='2024-04-01'
                  AND B.DIM_CODE ='DIM_CORP'
                  AND A.AWC_QUOTA >0
                UNIONALL
                SELECT T2.SET_ID AS O_CODE,
                       'GG'    AS CUS_TYPE,
                       'group'   AS O_TYPE,
                       ''        AS O_NAME,
                       T2.SET_NAME,
                       T2.SET_ID,
                       B.DIM_CODE,
                       B.DIM_OBJ_ID,
                       ''        AS D_DEPT,
                       ''        AS D_NAME,
                       ''        AS D_BIZLINE,
                       ''        AS P_CLASS,
                       ''        AS P_CLASS_NAME
                FROM (SELECT DIM_OBJ_ID,
                             BASE_DATE,
                             LIMIT_LINE,
                             AWC_QUOTA,
                             OCC_QUOTA,
                             LIMIT_LINE_ABLE,
                             LIMIT_LINE_RATE
                      FROM TAWC11111
                      WHERE BASE_DATE ='2024-04-01') A
                         INNERJOIN TAWC22222 B
                                    ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                         INNERJOIN TAXC45200 T2
                                    ON B.VRG_SET_ID = T2.SET_ID
                                        AND A.BASE_DATE = T2.BASE_DATE
                WHERE A.BASE_DATE ='2024-04-01'
                  AND B.DIM_CODE ='DIM_VRG'
                  AND A.AWC_QUOTA >0) T
          WHERE1=1
          GROUPBY O_CODE,
                   O_NAME,
                   CUS_TYPE,
                   O_TYPE,
                   SET_NAME,
                   SET_ID,
                   DIM_CODE,
                   DIM_OBJ_ID)
        ,
     PORT_11112 AS
         (SELECT A.DIM_OBJ_ID AS                      CUST_CODE,
                 ''                                   CUS_TYPE,
                 '2'                                  O_TYPE,
                 WM_CONCAT(DISTINCT (C.O_NAME))       O_NAME,
                 WM_CONCAT(DISTINCT (A.D_DEPT))       D_DEPT,
                 WM_CONCAT(DISTINCT (A.D_NAME))       D_NAME,
                 WM_CONCAT(DISTINCT (A.D_BIZLINE))    D_BIZLINE,
                 WM_CONCAT(DISTINCT (A.P_CLASS))      P_CLASS,
                 WM_CONCAT(DISTINCT (DIM_CLASS_NAME)) P_CLASS_NAME,
                 'DIM_PORT'                           DIM_CODE,
                 A.DIM_OBJ_ID,
                 T2.SET_NAME
          FROM (SELECTDISTINCT A.DIM_OBJ_ID,
                                A.DIM_CODE,
                                B.CUST_CODE,
                                B.D_DEPT,
                                B.D_NAME,
                                B.D_BIZLINE,
                                B.P_CLASS
                FROM (SELECT AWC_QUOTA,
                             LIMIT_LINE,
                             BASE_DATE,
                             DIM_OBJ_ID,
                             OCC_QUOTA,
                             LIMIT_LINE_ABLE,
                             LIMIT_LINE_RATE
                      FROM TAWC11111
                      WHERE BASE_DATE ='2024-04-01') STATS
                         INNERJOIN TAWC22222 A
                                    ON STATS.DIM_OBJ_ID = A.DIM_OBJ_ID
                         INNERJOIN DIM_9999 B
                                    ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                WHERE A.DIM_CODE ='DIM_PORT'
                  AND STATS.BASE_DATE ='2024-04-01'
                  AND (STATS.LIMIT_LINE >0
                    OR STATS.AWC_QUOTA >0)) A
                   INNERJOIN T2RRRR C
                              ON A.CUST_CODE = C.O_CODE
                   LEFTJOIN (SELECTDISTINCT DIM_CODE,
                                              DIM_CLASS_NAME
                              FROM T9X2CC
                              ORDERBY DIM_CODE ASC) D
                             ON A.P_CLASS = D.DIM_CODE
                   LEFTJOIN VRG99999 T1
                             ON C.O_CODE = T1.O_CODE
                                 AND T1.BASE_DATE ='2024-04-01'
                   LEFTJOIN TAXC45200 T2
                             ON T1.SET_ID = T2.SET_ID
                                 AND T1.BASE_DATE ='2024-04-01'
          WHERE1=1
          GROUPBY A.DIM_OBJ_ID,
                   T2.SET_NAME)
        ,
     CREDIT9144 AS
         (SELECT DECODE(T1.ADJ_TYPE,
                        '调减'-1,
                        1* T1.ADJ_LINE AS ADJ_LINE,
                 T2.O_CODE,
                 T1.INST_ID,
                 T4.DIM_OBJ_ID,
                 T5.SET_ID
          FROM TAWXV999 T1
                   INNERJOIN TAWC22222 T2
                              ON T1.DIM_OBJ_ID = T2.DIM_OBJ_ID
                   LEFTJOIN TAWC_RESULT_DETAIL T3
                             ON T1.INST_ID = T3.INST_ID
                                 AND T3.AWC_TYPE LIKE'AWC_%'
                   LEFTJOIN TAWC22222 T4
                             ON T3.DIM_OBJ_ID = T4.DIM_OBJ_ID
                   LEFTJOIN VRG99999 T5
                             ON T2.O_CODE = T5.O_CODE
                                 AND T5.BASE_DATE ='2024-04-01'
          WHERE T1.DATA_SOURCE ='ADJ'
            AND T1.TMP_FLAG ='0'
            AND T1.AWC_TYPE ='AWC_CREDIT'
            AND (T1.REMARK ='初始化-占用信用债'
              OR T1.REMARK ='释放信用债'
              OR T1.INST_ID IN (SELECT INST_ID FROM CFLSSX WHERE AWC_CREDIT_FLAG ='1'))
            AND T1.ADJ_BEG_DATE <='2024-04-01'
            AND (T1.ADJ_END_DATE ISNULL
              OR T1.ADJ_END_DATE >'2024-04-01'))
      , X AS (
      
        SELECT*FROM TAWC11111 WHERE BASE_DATE ='2024-04-01'and TO_CHAR(SYSDATE, 'YYYY-MM-DD')
      )

SELECTCOUNT(1FROM (
     SELECT T1.*
                    TO_CHAR(DECODE(T1.DIM_CODE, 
                                             'DIM_PORT', T3.ADJ_LINE,
                                             DECODE(CUS_TYPE, 
                                                              'GG', T4.ADJ_LINE, 
                                                              T2.ADJ_LINE)) /10000'fm999999999999999990.00'AS ADJ_LINE
               FROM (



SELECT T.O_CODE                                                                         AS ID,
             T.O_NAME                                                                         AS CORP_NAME,
             (SELECTMAX(PARENTID) PARENTID
              FROM (SELECTCASEMAX(DIM_OBJ_ID) WHENNULLTHEN''ELSEMAX(TN.CUST_CODE) END PARENTID
                    FROM DIM_9999 TN
                    WHERE TN.DIM_OBJ_ID = T.DIM_OBJ_ID
                    GROUPBY TN.DIM_OBJ_ID
                    HAVINGCOUNT(DISTINCT (CUST_CODE)) <=1) A)                                  PARENTID,
             T.O_CODE,
             T.BASE_DATE,
             T.DIM_OBJ_ID,
             T.CUS_TYPE,
             T.O_NAME                                                                         AS CUS_NAME,
             T.DIM_CODE,
             T.IS_NEW_DATE,
             TO_CHAR(SUM(CASEWHEN T.AWC_TYPE ='AWC_GENERAL'THEN NVL(LIMIT_LINE, 0ELSE0END/10000,
                     'fm999999999999999990.00')                                               AS LIMIT_LINE,
             TO_CHAR(SUM(CASEWHEN T.AWC_TYPE ='AWC_GENERAL'THEN NVL(AWC_QUOTA, 0ELSE0END/10000,
                     'fm999999999999999990.00')                                               AS AWC_QUOTA,
             TO_CHAR(SUM(CASEWHEN T.AWC_TYPE ='AWC_GENERAL'THEN NVL(OCC_QUOTA, 0ELSE0END/10000,
                     'fm999999999999999990.00')                                               AS OCC_QUOTA,
             TO_CHAR(SUM(CASEWHEN T.AWC_TYPE ='AWC_GENERAL'THEN NVL(LIMIT_LINE_RATE, 0*100ELSE0END),
                     'fm999999999999999990.00')                                               AS LIMIT_LINE_RATE,
             TO_CHAR(GREATEST(SUM(CASE
                                      WHEN T.AWC_TYPE ='AWC_GENERAL'THEN NVL(LIMIT_LINE_ABLE, 0)
                                      ELSE0END/100000), 'fm999999999999999990.00')     AS LIMIT_LINE_ABLE,
             TO_CHAR(SUM(CASEWHEN T.AWC_TYPE ='CE_GENERAL'THEN NVL(AWC_QUOTA, 0ELSE0END/10000,
                     'fm999999999999999990.00')                                               AS CE_QUOTA,
             TO_CHAR(SUM(CASEWHEN T.AWC_TYPE ='ELUL_GENERAL'THEN NVL(AWC_QUOTA, 0ELSE0END/10000,
                     'fm999999999999999990.00')                                               AS ELUL_QUOTA,
             SUM(CASEWHEN T.AWC_TYPE ='AWC_GENERAL'THEN NVL(AWC_QUOTA_ABLE, 0ELSE0ENDAS AWC_QUOTA_ABLE,
             t.set_id,
             t.set_name
      FROM (
      SELECT A.AWC_TYPE,
                   C.O_CODE,
                   C.O_NAME,
                   A.AWC_QUOTA,
                   A.OCC_QUOTA,
                   A.LIMIT_LINE_ABLE,
                   A.LIMIT_LINE_RATE,
                   A.LIMIT_LINE,
                   A.BASE_DATE,
                   A.DIM_OBJ_ID,
                   C.CUS_TYPE,
                   'DIM_CORP'AS DIM_CODE,
                   NULL       AS AWC_QUOTA_ABLE,
                   ''         AS IS_NEW_DATE,
                   c.set_id,
                   c.set_name
            FROM (SELECT A.AWC_TYPE,
                         A.AWC_QUOTA,
                         A.OCC_QUOTA,
                         A.LIMIT_LINE_ABLE,
                         A.LIMIT_LINE_RATE,
                         A.LIMIT_LINE,
                         A.BASE_DATE,
                         A.DIM_OBJ_ID
                  FROM X A
                  WHERE A.BASE_DATE ='2024-04-01') A
                     INNERJOIN CORP11111 C
                                ON A.DIM_OBJ_ID = C.DIM_OBJ_ID
            WHERE A.BASE_DATE ='2024-04-01'
            UNIONALL
        
            SELECT A.AWC_TYPE,
                   B.CUST_CODE                                                    AS O_CODE,
                   B.O_NAME ||'(组合)'                                           AS NAME,
                   A.AWC_QUOTA,
                   A.OCC_QUOTA,
                   A.LIMIT_LINE_ABLE,
                   A.LIMIT_LINE_RATE,
                   A.LIMIT_LINE,
                   A.BASE_DATE,
                   A.DIM_OBJ_ID,
                   B.CUS_TYPE,
                   'DIM_PORT'                                                     AS DIM_CODE,
                   A.AWC_QUOTA_ABLE,
                   CASEWHEN C.MAX_BASE_DATE ='2024-04-01'THEN'1'ELSE'0'ENDAS IS_NEW_DATE,
                   ''                                                             AS set_id,
                   ''                                                             AS set_name
            FROM (
            
            SELECT A.AWC_TYPE,
                         A.AWC_QUOTA,
                         A.OCC_QUOTA,
                         A.LIMIT_LINE_ABLE,
                         A.LIMIT_LINE_RATE,
                         A.LIMIT_LINE,
                         A.BASE_DATE,
                         A.DIM_OBJ_ID,
                         A.AWC_QUOTA_ABLE
                  FROM X A WHERE A.BASE_DATE ='2024-04-01'
                  
                  ) A
                     INNERJOIN PORT_11112 B ON A.DIM_OBJ_ID = B.DIM_OBJ_ID
                     LEFTJOIN (SELECTMAX(BASE_DATE) MAX_BASE_DATE FROM X WHERE BASE_DATE <= TO_CHAR(SYSDATE, 'YYYY-MM-DD')
                     ) C
                               ON1=1
            WHERE A.BASE_DATE ='2024-04-01'
              AND B.DIM_CODE ='DIM_PORT'
              
              
              ) T
      GROUPBY T.O_CODE,
               T.O_NAME,
               T.CUS_TYPE,
               T.BASE_DATE,
               T.DIM_OBJ_ID,
               T.DIM_CODE,
               T.IS_NEW_DATE,
               t.set_id,
               t.set_name
               )  T1
          LEFTJOIN (SELECTSUM(ADJ_LINE) AS ADJ_LINE, O_CODE FROM CREDIT9144 GROUPBY O_CODE) T2 
                 ON T1.O_CODE = T2.O_CODE
          LEFTJOIN (SELECTSUM(ADJ_LINE) AS ADJ_LINE, 
                             DIM_OBJ_ID 
                        FROM CREDIT9144 
                    GROUPBY DIM_OBJ_ID) T3 
                 ON T1.DIM_OBJ_ID = T3.DIM_OBJ_ID
          LEFTJOIN (SELECTSUM(ADJ_LINE) AS ADJ_LINE, SET_ID FROM CREDIT9144 GROUPBY SET_ID) T4 
                 ON T1.O_CODE = T4.SET_ID) T1
LEFTJOIN (SELECT DIM_OBJ_ID, 
                    WM_CONCAT(DISTINCT (TC.O_NAME)) ||'(组合)'AS PORT_NAME,
                    WM_CONCAT(DISTINCT (TD1.SD_NAME ||'-'|| TD2.SD_NAME ||'-'|| TD3.SD_NAME)) PORT_DEPT,
                    WM_CONCAT(DISTINCT (T3.DIM_CLASS_NAME)) PORT_CLASS
               FROM DIM_9999 T1
          LEFTJOIN TSYS_DEPT TD1 
                 ON T1.D_CORP = TD1.SD_ID
          LEFTJOIN TSYS_DEPT TD2 
                 ON T1.D_DEPT = TD2.SD_ID
          LEFTJOIN TSYS_DEPT TD3 
                 ON T1.D_BIZLINE = TD3.SD_ID
          LEFTJOIN (SELECTDISTINCT DIM_CODE, DIM_CLASS_NAME FROM T9X2CC) T3 
                 ON T1.P_CLASS = T3.DIM_CODE
          LEFTJOIN T2RRRR TC 
                 ON T1.CUST_CODE = TC.O_CODE 
           GROUPBY DIM_OBJ_ID) T2 
       ON T1.DIM_OBJ_ID = T2.DIM_OBJ_ID
LEFTJOIN (SELECT*
             FROM (SELECT T.*
                               ROW_NUMBER() OVER ( 
                                     PARTITIONBY T.O_CODE 
                                         ORDERBY T.BASEDATE DESC
                                                  T.BEG_DATE DESC
                                                  IMP_TIME DESCAS SN
                          FROM TCRT_RESULT T 
                         WHERE T.TMP_FLAG ='0'AND T.BEG_DATE <='2024-04-01'AND T.END_DATE >='2024-04-01') C 
            WHERE C.SN =1) T3 
       ON T1.O_CODE = T3.O_CODE;

改写后执行计划:

    #NSET2:  [17484,  1,  4470]  
        #PIPE2:  [17484,  1,  4470]  
            #PIPE2:  [17483,  1,  4470]  
                #PIPE2:  [17470,  1,  4470]  
                    #PRJT2:  [17461,  1,  4470];  exp_num(1),  is_atom(FALSE)  
                        #AAGR2:  [17461,  1,  4470];  grp_num(0),  sfun_num(1),  distinct_flag[0];  slave_empty(0)
                            #HASH  RIGHT  JOIN2:  [17461,  172479,  4470];  key_num(1),  ret_null(0),  KEY(T3.O_CODE=T1.O_CODE)
                                #PRJT2:  [24,  331,  528];  exp_num(1),  is_atom(FALSE)  
                                    #SLCT2:  [24,  331,  528];  C.SN  =  var15
                                       #PRJT2:  [24,  13278,  528];  exp_num(2),  is_atom(FALSE)  
                                           #AFUN:  [24,  13278,  528];  afun_num(1);  partition_num(1)[T.O_CODE];  order_num(3)[T.BASEDATE,  T.BEG_DATE,  T.IMP_TIME]
                                               #SORT3:  [24,  13278,  528];  key_num(4),  is_distinct(FALSE),  top_flag(0),  is_adaptive(0)
                                                   #SLCT2:  [24,  13278,  528];  (T.BEG_DATE  <='2024-04-01'AND  T.END_DATE  >='2024-04-01')
                                                       #BLKUP2:  [24,  13619,  528];  TCRT_RESULT_TMPFLAG(T)
                                                           #SSEK2:  [24,  13619,  528];  scan_type(ASC),  TCRT_RESULT_TMPFLAG(TCRT_RESULT  as  T),  scan_range['0','0']
                               #PRJT2:  [17340,  172479,  3942];  exp_num(1),  is_atom(FALSE)  
                                   #HASH  RIGHT  JOIN2:  [17340,  172479,  3942];  key_num(1),  ret_null(0),  KEY(T4.SET_ID=T1.O_CODE)
                                       #PRJT2:  [2,  1,  846];  exp_num(1),  is_atom(FALSE)  
                                           #HAGR2:  [2,  1,  846];  grp_num(1),  sfun_num(0);  slave_empty(0)  keys(CREDIT9144.SET_ID)  
                                               #HEAP  TABLE  SCAN:  [1,  4,  846];  table_no(0)  
                                       #HASH  RIGHT  JOIN2:  [17260,  172479,  3096];  key_num(1),  ret_null(0),  KEY(T3.DIM_OBJ_ID=T1.DIM_OBJ_ID)
                                           #PRJT2:  [2,  1,  846];  exp_num(1),  is_atom(FALSE)  
                                               #HAGR2:  [2,  1,  846];  grp_num(1),  sfun_num(0);  slave_empty(0)  keys(CREDIT9144.DIM_OBJ_ID)  
                                                   #HEAP  TABLE  SCAN:  [1,  4,  846];  table_no(0)  
                                           #HASH  RIGHT  JOIN2:  [17198,  172479,  2250];  key_num(1),  ret_null(0),  KEY(T2.O_CODE=T1.O_CODE)
                                               #PRJT2:  [2,  1,  846];  exp_num(1),  is_atom(FALSE)  
                                                   #HAGR2:  [2,  1,  846];  grp_num(1),  sfun_num(0);  slave_empty(0)  keys(CREDIT9144.O_CODE)  
                                                       #HEAP  TABLE  SCAN:  [1,  4,  846];  table_no(0)  
                                               #PRJT2:  [17154,  172479,  1404];  exp_num(2),  is_atom(FALSE)  
                                                   #PRJT2:  [17154,  172479,  1404];  exp_num(2),  is_atom(FALSE)  
                                                       #HAGR2:  [17154,  172479,  1404];  grp_num(9),  sfun_num(0);  slave_empty(0)  keys(DMTEMPVIEW_896943061.TMPCOL0,  DMTEMPVIEW_896943061.TMPCOL1,  DMTEMPVIEW_896943061.TMPCOL2,  DMTEMPVIEW_896943061.TMPCOL3,  DMTEMPVIEW_896943061.TMPCOL4,  DMTEMPVIEW_896943061.TMPCOL5,  DMTEMPVIEW_896943061.TMPCOL6,  DMTEMPVIEW_896943061.TMPCOL7,  DMTEMPVIEW_896943061.TMPCOL8)  
                                                           #PRJT2:  [17060,  172479,  1404];  exp_num(9),  is_atom(FALSE)  
                                                               #PRJT2:  [17060,  172479,  1404];  exp_num(9),  is_atom(FALSE)  
                                                                   #UNIONALL:  [17060,  172479,  1404]
                                                                       #PRJT2:  [2953,  172471,  1404];  exp_num(9),  is_atom(FALSE)  
                                                                           #HASH2  INNERJOIN:  [2953,  172471,  1404];    KEY_NUM(1);  KEY(A.DIM_OBJ_ID=C.DIM_OBJ_ID)  KEY_NULL_EQU(0)
                                                                               #PRJT2:  [152,  3480,  822];  exp_num(2),  is_atom(FALSE)  
                                                                                   #PRJT2:  [152,  3480,  822];  exp_num(2),  is_atom(FALSE)  
                                                                                       #SLCT2:  [152,  3480,  822];  TAWC11111.BASE_DATE  <=  var24
                                                                                           #BLKUP2:  [152,  68827,  822];  TAWC_STATIC_RESULT_BASEDATE(TAWC11111)
                                                                                               #SSEK2:  [152,  68827,  822];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE(TAWC11111),  scan_range['2024-04-01','2024-04-01']
                                                                               #PRJT2:  [2774,  172472,  582];  exp_num(6),  is_atom(FALSE)  
                                                                                   #HAGR2:  [2774,  172472,  582];  grp_num(8),  sfun_num(0);  slave_empty(0)  keys(T.O_CODE,  T.O_NAME,  T.CUS_TYPE,  T.O_TYPE,  T.SET_NAME,  T.SET_ID,  T.DIM_CODE,  T.DIM_OBJ_ID)  
                                                                                       #PRJT2:  [2016,  4084117,  582];  exp_num(8),  is_atom(FALSE)  
                                                                                           #UNIONALL:  [2016,  4084117,  582]
                                                                                               #PRJT2:  [846,  4084116,  582];  exp_num(8),  is_atom(FALSE)  
                                                                                                   #HASH  RIGHT  JOIN2:  [846,  4084116,  582];  key_num(2),  ret_null(0),  KEY(T2.SET_ID=T1.SET_ID  AND  T2.BASE_DATE=A.BASE_DATE)
                                                                                                       #CSCN2:  [23,  172472,  144];  INDEX33559059(TAXC45200  as  T2)
                                                                                                       #HASH  LEFT  JOIN2:  [239,  4084116,  582];  key_num(2),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(C.O_CODE=T1.O_CODE  AND  A.BASE_DATE=T1.BASE_DATE)
                                                                                                           #NEST  LOOP  INDEX  JOIN2:  [116,  1718,  582]  
                                                                                                               #SLCT2:  [105,  1718,  390];  B.DIM_CODE  ='DIM_CORP'
                                                                                                                   #NEST  LOOP  INDEX  JOIN2:  [105,  1718,  390]  
                                                                                                                       #PRJT2:  [91,  1718,  246];  exp_num(2),  is_atom(FALSE)  
                                                                                                                           #SLCT2:  [91,  1718,  246];  TAWC11111.AWC_QUOTA  >  var25
                                                                                                                               #BLKUP2:  [91,  68827,  246];  TAWC_STATIC_RESULT_BASEDATE(TAWC11111)
                                                                                                                                   #SSEK2:  [91,  68827,  246];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE(TAWC11111),  scan_range['2024-04-01','2024-04-01']
                                                                                                                       #BLKUP2:  [11,  1,  48];  INDEX33559829(B)
                                                                                                                           #SSEK2:  [11,  1,  48];  scan_type(ASC),  INDEX33559829(TAWC22222  as  B),  scan_range[A.DIM_OBJ_ID,A.DIM_OBJ_ID]
                                                                                                               #BLKUP2:  [11,  1,  48];  INDEX33558827(C)
                                                                                                                   #SSEK2:  [11,  1,  48];  scan_type(ASC),  INDEX33558827(T2RRRR  as  C),  scan_range[B.O_CODE,B.O_CODE]
                                                                                                           #CSCN2:  [75,  562125,  144];  INDEX33559061(VRG99999  as  T1)
                                                                                               #PRJT2:  [59,  1,  534];  exp_num(8),  is_atom(FALSE)  
                                                                                                   #SLCT2:  [59,  1,  534];  (A.BASE_DATE  =  T2.BASE_DATE  AND  A.DIM_OBJ_ID  =  B.DIM_OBJ_ID)
                                                                                                       #NEST  LOOP  INNER  JOIN2:  [59,  1,  534];  [with  var]
                                                                                                           #HASH2  INNERJOIN:  [40,  119,  288];    KEY_NUM(1);  KEY(T2.SET_ID=B.VRG_SET_ID)  KEY_NULL_EQU(0)
                                                                                                               #SLCT2:  [24,  1053,  144];  T2.BASE_DATE  ='2024-04-01'
                                                                                                                   #CSCN2:  [24,  172472,  144];  INDEX33559059(TAXC45200  as  T2)
                                                                                                               #BLKUP2:  [13,  11990,  144];  IDX_YHY_24011901_01(B)
                                                                                                                   #SSEK2:  [13,  11990,  144];  scan_type(ASC),  IDX_YHY_24011901_01(TAWC22222  as  B),  scan_range['DIM_VRG','DIM_VRG']
                                                                                                           #PRJT2:  [1,  1,  246];  exp_num(2),  is_atom(FALSE)  
                                                                                                               #SLCT2:  [1,  1,  246];  (TAWC11111.AWC_QUOTA  >  var26  AND  TAWC11111.BASE_DATE  =  var11)
                                                                                                                   #BLKUP2:  [1,  2,  246];  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111)
                                                                                                                       #SSEK2:  [1,  2,  246];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var12),('2024-04-01',var12)]
                                                                       #PRJT2:  [14024,  8,  2622];  exp_num(9),  is_atom(FALSE)  
                                                                           #NEST  LOOP  LEFT  JOIN2:  [14024,  8,  2622];  joincondition(  TRUE  )  partition_keys_num(0)  ret_null(0)
                                                                               #SLCT2:  [74,  8,  1800];  A.DIM_OBJ_ID  =  B.DIM_OBJ_ID
                                                                                   #NEST  LOOP  INNER  JOIN2:  [74,  8,  1800];  [with  var]
                                                                                       #PRJT2:  [71,  21,  978];  exp_num(4),  is_atom(FALSE)  
                                                                                           #SAGR2:  [71,  21,  978];  grp_num(2),  sfun_num(1),  distinct_flag[1];  slave_empty(0)  keys(A.DIM_OBJ_ID,  T2.SET_NAME)  
                                                                                               #SORT3:  [71,  21,  978];  key_num(2),  is_distinct(FALSE),  top_flag(0),  is_adaptive(0)
                                                                                                   #INDEX  JOINLEFT  JOIN2:  [70,  96,  978]  joincondition(T1.BASE_DATE  ='2024-04-01')  ret_null(0)
                                                                                                       #HASH  LEFT  JOIN2:  [69,  12,  978];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(C.O_CODE=T1.O_CODE)
                                                                                                           #HASH  LEFT  JOIN2:  [64,  12,  834];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(A.P_CLASS=D.DIM_CODE)
                                                                                                               #NEST  LOOP  INDEX  JOIN2:  [62,  9,  738]  
                                                                                                                   #PRJT2:  [61,  9,  642];  exp_num(3),  is_atom(FALSE)  
                                                                                                                       #DISTINCT:  [61,  9,  642]
                                                                                                                           #HASH2  INNERJOIN:  [60,  9,  642];    KEY_NUM(2);  KEY(A.DIM_OBJ_ID=B.DIM_OBJ_ID  AND  STATS.DIM_OBJ_ID=B.DIM_OBJ_ID)  KEY_NULL_EQU(0,  0)
                                                                                                                               #SLCT2:  [59,  2,  354];  STATS.DIM_OBJ_ID  =  A.DIM_OBJ_ID
                                                                                                                                   #NEST  LOOP  INNER  JOIN2:  [59,  2,  354];  [with  var]
                                                                                                                                       #BLKUP2:  [1,  52,  96];  IDX_YHY_24011901_01(A)
                                                                                                                                           #SSEK2:  [1,  52,  96];  scan_type(ASC),  IDX_YHY_24011901_01(TAWC22222  as  A),  scan_range['DIM_PORT','DIM_PORT']
                                                                                                                                       #PRJT2:  [1,  2,  258];  exp_num(1),  is_atom(FALSE)  
                                                                                                                                           #UNIONFOR  OR2:  [1,  2,  258];  key_num(1),  outer_join(-)
                                                                                                                                               #SLCT2:  [1,  1,  258];  TAWC11111.LIMIT_LINE  >  var28
                                                                                                                                                   #BLKUP2:  [1,  2,  258];  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111)
                                                                                                                                                       #SSEK2:  [1,  2,  258];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var14),('2024-04-01',var14)]
                                                                                                                                               #SLCT2:  [1,  1,  258];  TAWC11111.AWC_QUOTA  >  var29
                                                                                                                                                   #BLKUP2:  [1,  2,  258];  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111)
                                                                                                                                                       #SSEK2:  [1,  2,  258];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var14),('2024-04-01',var14)]
                                                                                                                              #CSCN2:  [1,  374,  288];  INDEX33559058(DIM_9999  as  B)
                                                                                                                  #BLKUP2:  [1,  1,  48];  INDEX33558827(C)
                                                                                                                      #SSEK2:  [1,  1,  48];  scan_type(ASC),  INDEX33558827(T2RRRR  as  C),  scan_range[A.CUST_CODE,A.CUST_CODE]
                                                                                                              #PRJT2:  [1,  98,  96];  exp_num(1),  is_atom(FALSE)  
                                                                                                                  #SORT3:  [1,  98,  96];  key_num(2),  is_distinct(TRUE),  top_flag(0),  is_adaptive(0)
                                                                                                                      #CSCN2:  [1,  98,  96];  INDEX33559770(T9X2CC)
                                                                                                          #BLKUP2:  [4,  3429,  144];  TAWC_VRG_SET_ITEM_BASEDATE(T1)
                                                                                                              #SSEK2:  [4,  3429,  144];  scan_type(ASC),  TAWC_VRG_SET_ITEM_BASEDATE(VRG99999  as  T1),  scan_range['2024-04-01','2024-04-01']
                                                                                                      #BLKUP2:  [1,  8,  48];  INDEX33559689(T2)
                                                                                                          #SSEK2:  [1,  8,  48];  scan_type(ASC),  INDEX33559689(TAXC45200  as  T2),  scan_range[(T1.SET_ID,min),(T1.SET_ID,max))
                                                                                      #PRJT2:  [1,  1,  822];  exp_num(2),  is_atom(FALSE)  
                                                                                          #PRJT2:  [1,  1,  822];  exp_num(2),  is_atom(FALSE)  
                                                                                              #SLCT2:  [1,  1,  822];  TAWC11111.BASE_DATE  <=  var31
                                                                                                  #SSEK2:  [1,  2,  822];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE1(TAWC11111),  scan_range[('2024-04-01',var13),('2024-04-01',var13)]
                                                                              #PRJT2:  [152,  1,  822];  exp_num(1),  is_atom(FALSE)  
                                                                                  #AAGR2:  [152,  1,  822];  grp_num(0),  sfun_num(1),  distinct_flag[0];  slave_empty(0)
                                                                                      #PRJT2:  [152,  69616,  822];  exp_num(1),  is_atom(FALSE)  
                                                                                          #SLCT2:  [152,  69616,  822];  TAWC11111.BASE_DATE  <=  var33
                                                                                              #SSEK2:  [152,  68827,  822];  scan_type(ASC),  TAWC_STATIC_RESULT_BASEDATE(TAWC11111),  scan_range['2024-04-01',exp11]
                  #HEAP  TABLE:  [8,  4,  846];  table_no(0)  full(0),  mpp_full(0)  autoid(0),  sites(-)
                      #PRJT2:  [8,  4,  846];  exp_num(3),  is_atom(FALSE)  
                          #UNIONFOR  OR2:  [8,  4,  846];  key_num(1),  outer_join(-)
                              #UNIONFOR  OR2:  [5,  3,  846];  key_num(1),  outer_join(-)
                                  #UNIONFOR  OR2:  [2,  2,  846];  key_num(1),  outer_join(-)
                                      #HASH  RIGHT  SEMI  JOIN2:  [1,  1,  846];  n_keys(1)  KEY(DMTEMPVIEW_896943136.colname=DMTEMPVIEW_896943065.TMPCOL5)  KEY_NULL_EQU(0)
                                          #CONST  VALUE  LIST:  [1,  2,  48];  row_num(2),  col_num(1),  
                                          #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896943065.TMPCOL7  ISNULL
                                              #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                      #HASH  RIGHT  SEMI  JOIN2:  [1,  1,  846];  n_keys(1)  KEY(DMTEMPVIEW_896943137.colname=DMTEMPVIEW_896943065.TMPCOL5)  KEY_NULL_EQU(0)
                                          #CONST  VALUE  LIST:  [1,  2,  48];  row_num(2),  col_num(1),  
                                          #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896943065.TMPCOL7  >'2024-04-01'
                                              #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                  #HASH  LEFT  SEMI  JOIN2:  [1,  1,  846];  KEY_NUM(1);    KEY(DMTEMPVIEW_896943065.TMPCOL1=CFLSSX.INST_ID)  KEY_NULL_EQU(0)
                                      #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896943065.TMPCOL7  ISNULL
                                          #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                      #SLCT2:  [1,  52,  96];  CFLSSX.AWC_CREDIT_FLAG  ='1'
                                          #CSCN2:  [1,  208,  96];  INDEX33559053(CFLSSX)
                              #HASH  LEFT  SEMI  JOIN2:  [1,  1,  846];  KEY_NUM(1);    KEY(DMTEMPVIEW_896943065.TMPCOL1=CFLSSX.INST_ID)  KEY_NULL_EQU(0)
                                  #SLCT2:  [1,  1,  846];  DMTEMPVIEW_896943065.TMPCOL7  >'2024-04-01'
                                      #HEAP  TABLE  SCAN:  [1,  1,  846];  table_no(1)  
                                  #SLCT2:  [1,  52,  96];  CFLSSX.AWC_CREDIT_FLAG  ='1'
                                      #CSCN2:  [1,  208,  96];  INDEX33559053(CFLSSX)
              #HEAP  TABLE:  [13,  1,  846];  table_no(1)  full(0),  mpp_full(0)  autoid(1),  sites(-)
                  #HASH  LEFT  JOIN2:  [13,  1,  846];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(T2.O_CODE=T5.O_CODE)
                      #INDEX  JOINLEFT  JOIN2:  [8,  1,  702]    ret_null(0)
                          #HASH  LEFT  JOIN2:  [8,  1,  702];  key_num(1),  partition_keys_num(0),  ret_null(0),  mix(0)  KEY(T1.INST_ID=T3.INST_ID)
                              #NEST  LOOP  INDEX  JOIN2:  [7,  1,  558]  
                                  #SLCT2:  [7,  1,  462];  (T1.DATA_SOURCE  ='ADJ'AND  T1.TMP_FLAG  ='0'AND  T1.AWC_TYPE  ='AWC_CREDIT'AND  T1.ADJ_BEG_DATE  <='2024-04-01')
                                      #CSCN2:  [7,  33528,  462];  INDEX33559064(TAWXV999  as  T1)
                                  #BLKUP2:  [1,  1,  48];  INDEX33559829(T2)
                                      #SSEK2:  [1,  1,  48];  scan_type(ASC),  INDEX33559829(TAWC22222  as  T2),  scan_range[T1.DIM_OBJ_ID,T1.DIM_OBJ_ID]
                              #SLCT2:  [1,  22,  144];  (T3.AWC_TYPE  >='AWC'AND  T3.AWC_TYPE  <'AWD'AND  T3.AWC_TYPE  LIKE'AWC_%')
                                  #CSCN2:  [1,  505,  144];  INDEX33559057(TAWC_RESULT_DETAIL  as  T3)
                          #SSEK2:  [1,  1,  48];  scan_type(ASC),  INDEX33559829(TAWC22222  as  T4),  scan_range[T3.DIM_OBJ_ID,T3.DIM_OBJ_ID]
                      #BLKUP2:  [4,  3429,  144];  TAWC_VRG_SET_ITEM_BASEDATE(T5)
                          #SSEK2:  [4,  3429,  144];  scan_type(ASC),  TAWC_VRG_SET_ITEM_BASEDATE(VRG99999  as  T5),  scan_range['2024-04-01','2024-04-01']
          #SPL2:  [1,  1,  96];  key_num(1),  spool_num(0),  is_atom(TRUE),  has_var(1),  sites(-)
              #PRJT2:  [1,  1,  96];  exp_num(1),  is_atom(TRUE)  
                  #AAGR2:  [1,  1,  96];  grp_num(0),  sfun_num(1),  distinct_flag[0];  slave_empty(0)
                      #PRJT2:  [1,  1,  96];  exp_num(1),  is_atom(FALSE)  
                          #SLCT2:  [1,  1,  96];  exp_sfun1  <=  var36
                              #SAGR2:  [1,  7,  96];  grp_num(1),  sfun_num(3),  distinct_flag[1,0,0];  slave_empty(0)  keys(TN.DIM_OBJ_ID)  
                                  #SORT3:  [1,  7,  96];  key_num(1),  is_distinct(FALSE),  top_flag(0),  is_adaptive(0)
                                      #SLCT2:  [1,  7,  96];  TN.DIM_OBJ_ID  =  var10
                                          #CSCN2:  [1,  374,  96];  INDEX33559058(DIM_9999  as  TN)

优化前后比较:

可以看到随便搞了一下,原来 11.6秒出结果的,现在 1.6 秒就能跑出结果了。😎😎

结语

希望以上内容能助大家一臂之力,解决工作中的难题。欢迎随时交流探讨,感谢您的关注和支持!


 


 


文章转载自国产数据库学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论