查看: 5771|回复: 33

[SQL] 【讨论】如何解决大表的查询性能?

[复制链接]
论坛徽章:
1
发表于 2014-7-3 10:06 | 显示全部楼层 |阅读模式
是这样的,我有一个查询语句,这个查询语句有一张25G的表,这张表的所有数据都属于要查询的范围,查询的性能瓶颈其实就是数据量太大,什么索引的都已经用上了,但还是不行,整个查询需要50分钟,我目前能想到的提高查询性能的方法有两种: 1.把表放到KEEP 池。2.把这张做成压缩表。但之前没用过这两种方法,不知道效果如果,还请各路大神给些宝贵的意见啊!!
SQL 如下:
SELECT SUM(HS) AS HS,
       SUM(CYRY) AS CYRY,
       SUM(YYSR) AS YYSR,
       SUM(JYZZC) AS JYZZC,
       SUM(JNSF) AS JNSF,
       SUM(GYBC) AS GYBC
FROM   (
        SELECT HY,
               SUM(HS) AS HS,
               SUM(CYRY) AS CYRY,
               SUM(YYSR) AS YYSR,
               SUM(JYZZC) AS JYZZC,
               SUM(JNSF) AS JNSF,
               SUM(GYBC) AS GYBC
        FROM   (
                SELECT N.SHENG AS SHENG,
                       L.HY AS HY,
                       M.HS AS HS,
                       M.CYRY AS CYRY,
                       L.YYSR*M.CYRY AS YYSR,
                       L.JYZZC*M.CYRY AS JYZZC,
                       L.JNSF*M.CYRY AS JNSF,
                       L.GYBC*M.CYRY AS GYBC
                FROM   (
                        SELECT SUBSTR(F.FZ0029DM,1,2) AS SHENG,
                               F.FZ0029MC
                        FROM   CJCL.GY_ML_FZ0029 F
                        WHERE  F.BB = '201308310'
                        AND    F.FZ0029DM LIKE '%0000000000'
                       )N
                JOIN      
                       (
                        SELECT J.SHENG AS SHENG,
                               J.HY AS HY,
                               J.YYSR/K.CYRY AS YYSR,
                               J.JYZZC/K.CYRY AS JYZZC,
                               J.JNSF/K.CYRY AS JNSF,
                               J.GYBC/K.CYRY AS GYBC
                        FROM   (
                                SELECT SUBSTR(SHI,1,2) AS SHENG,
                                       HY AS HY,
                                       SUM(YYSR) AS YYSR,
                                       SUM(JYZZC) AS JYZZC,
                                       SUM(JNSF) AS JNSF,
                                       SUM(GYBC) AS GYBC
                                FROM   (
                                        SELECT E.SHI AS SHI,
                                               E.HY AS HY,
                                               G.HS AS HS,
                                               G.CYRY AS CYRY,
                                               ROUND(E.YYSR*G.CYRY,2) AS YYSR,
                                               ROUND(E.JYZZC*G.CYRY,2) AS JYZZC,
                                               ROUND(E.JNSF*G.CYRY,2) AS JNSF,
                                               ROUND(E.GYBC*G.CYRY,2) AS GYBC
                                        FROM   (
                                                SELECT SUBSTR(A.ZZJGDM,1,4) AS SHI,
                                                       SUBSTR(B.CJDM,1,1) AS HY,
                                                       SUM(A.Z04)/SUM(A.B192) AS YYSR,
                                                       SUM(A.Z03)/SUM(A.B192) AS JYZZC,
                                                       SUM(A.Z02)/SUM(A.B192) AS JNSF,
                                                       SUM(A.Z01)/SUM(A.B192) AS GYBC
                                                FROM   CJCL.C2013_000000_614_2_1 A
                                                JOIN   (
                                                        SELECT F.CJDM AS CJDM,
                                                               F.FZ0043DM AS DM
                                                        FROM   CJCL.GY_ML_FZ0043 F
                                                        WHERE  F.BB = '201111010'
                                                        AND    LENGTH(F.FZ0043DM) = 3
                                                       )B
                                                ON     A.B103 = B.DM      
                                                WHERE  A.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                AND    A.BGQ = '201301YY'
                                                AND    (A.Z01 <> 0 OR A.Z02 <> 0 OR A.Z03 <> 0 OR A.Z04 <> 0)
                                                AND    SUBSTR(B.CJDM,1,1) <> 'G'
                                                GROUP BY SUBSTR(A.ZZJGDM,1,4),SUBSTR(B.CJDM,1,1)
                                               )E        
                                        JOIN   (
                                                SELECT SUBSTR(C.ZZJGDM,1,4) AS SHI,
                                                       SUBSTR(D.CJDM,1,1) AS HY,
                                                       COUNT(C.B000) AS HS,
                                                       SUM(C.B192) CYRY
                                                FROM   CJCL.C2013_000000_614_1A_1 C
                                                JOIN   (
                                                        SELECT F.CJDM AS CJDM,
                                                               F.FZ0043DM AS DM
                                                        FROM   CJCL.GY_ML_FZ0043 F
                                                        WHERE  F.BB = '201111010'
                                                        AND    LENGTH(F.FZ0043DM) = 3
                                                       )D
                                                ON     C.B103 = D.DM
                                                WHERE  C.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                AND    C.BGQ = '201301YY'
                                                AND    SUBSTR(D.CJDM,1,1) <> 'G'
                                                GROUP BY SUBSTR(C.ZZJGDM,1,4),SUBSTR(D.CJDM,1,1)
                                               )G
                                        ON     E.SHI = G.SHI AND E.HY = G.HY
                                       )
                                GROUP BY SUBSTR(SHI,1,2),HY
                               )J
                        JOIN   (
                                SELECT SUBSTR(SHI,1,2) AS SHENG,
                                       HY AS HY,
                                       SUM(CYRY) AS CYRY
                                FROM   (
                                        SELECT SUBSTR(C.ZZJGDM,1,4) AS SHI,
                                               SUBSTR(D.CJDM,1,1) AS HY,
                                               COUNT(C.B000) AS HS,
                                               SUM(C.B192) CYRY
                                        FROM   CJCL.C2013_000000_614_1A_1 C
                                        JOIN   (
                                                SELECT F.CJDM AS CJDM,
                                                       F.FZ0043DM AS DM
                                                FROM   CJCL.GY_ML_FZ0043 F
                                                WHERE  F.BB = '201111010'
                                                AND    LENGTH(F.FZ0043DM) = 3
                                               )D
                                        ON     C.B103 = D.DM
                                        WHERE  C.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                        AND    C.BGQ = '201301YY'
                                        AND    SUBSTR(D.CJDM,1,1) <> 'G'
                                        GROUP BY SUBSTR(C.ZZJGDM,1,4),SUBSTR(D.CJDM,1,1)
                                       )
                                GROUP BY SUBSTR(SHI,1,2),HY
                               )K
                        ON     J.SHENG = K.SHENG AND J.HY = K.HY
                       )L
                ON     N.SHENG = L.SHENG      
                JOIN   (
                        SELECT SUBSTR(C.ZZJGDM,1,2) AS SHENG,
                               SUBSTR(D.CJDM,1,1) AS HY,
                               COUNT(C.B000) AS HS,
                               SUM(C.B192) AS CYRY
                        FROM   CJCL.C2013_000000_614_1A_1 C
                        JOIN   (
                                SELECT F.CJDM AS CJDM,
                                       F.FZ0043DM AS DM
                                FROM   CJCL.GY_ML_FZ0043 F
                                WHERE  F.BB = '201111010'
                                AND    LENGTH(F.FZ0043DM) = 3
                               )D
                        ON     C.B103 = D.DM
                        WHERE  C.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                        AND    C.BGQ = '201301YY'
                        AND    SUBSTR(D.CJDM,1,1) <> 'G'
                        GROUP BY SUBSTR(C.ZZJGDM,1,2),SUBSTR(D.CJDM,1,1)
                       )M
                ON     L.SHENG = M.SHENG AND L.HY = M.HY
                UNION ALL
                SELECT N.SHENG AS SHENG,
                       L.HY AS HY,
                       M.HS AS HS,
                       M.CYRY AS CYRY,
                       ROUND(L.YYSR*M.CYRY,2) AS YYSR,
                       ROUND(L.JYZZC*M.CYRY,2) AS JYZZC,
                       ROUND(L.JNSF*M.CYRY,2) AS JNSF,
                       ROUND(L.GYBC*M.CYRY,2) AS GYBC
                FROM   (
                        SELECT SUBSTR(F.FZ0029DM,1,2) AS SHENG,
                               F.FZ0029MC
                        FROM   CJCL.GY_ML_FZ0029 F
                        WHERE  F.BB = '201308310'
                        AND    F.FZ0029DM LIKE '%0000000000'
                       )N
                JOIN      
                       (
                        SELECT J.SHENG AS SHENG,
                               J.HY AS HY,
                               J.YYSR/K.CYRY AS YYSR,
                               J.JYZZC/K.CYRY AS JYZZC,
                               J.JNSF/K.CYRY AS JNSF,
                               J.GYBC/K.CYRY AS GYBC
                        FROM   (
                                SELECT SUBSTR(SHI,1,2) AS SHENG,
                                       HY AS HY,
                                       SUM(YYSR) AS YYSR,
                                       SUM(JYZZC) AS JYZZC,
                                       SUM(JNSF) AS JNSF,
                                       SUM(GYBC) AS GYBC
                                FROM   (
                                        SELECT E.SHI AS SHI,
                                               E.HY AS HY,
                                               G.HS AS HS,
                                               G.CYRY AS CYRY,
                                               ROUND(E.YYSR*G.CYRY,2) AS YYSR,
                                               ROUND(E.JYZZC*G.CYRY,2) AS JYZZC,
                                               ROUND(E.JNSF*G.CYRY,2) AS JNSF,
                                               ROUND(E.GYBC*G.CYRY,2) AS GYBC
                                        FROM   (
                                                SELECT SUBSTR(A.ZZJGDM,1,4) AS SHI,
                                                       'G' AS HY,
                                                       SUM(A.Z04)/SUM(A.B192) AS YYSR,
                                                       SUM(A.Z03)/SUM(A.B192) AS JYZZC,
                                                       SUM(A.Z02)/SUM(A.B192) AS JNSF,
                                                       SUM(A.Z01)/SUM(A.B192) AS GYBC
                                                FROM   CJCL.C2013_000000_614_2_1 A
                                                JOIN   (
                                                        SELECT F.CJDM AS CJDM,
                                                               F.FZ0043DM AS DM
                                                        FROM   CJCL.GY_ML_FZ0043 F
                                                        WHERE  F.BB = '201111010'
                                                        AND    LENGTH(F.FZ0043DM) = 3
                                                       )B
                                                ON     A.B103 = B.DM      
                                                WHERE  A.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                AND    A.BGQ = '201301YY'
                                                AND    (A.Z01 <> 0 OR A.Z02 <> 0 OR A.Z03 <> 0 OR A.Z04 <> 0)
                                                AND    SUBSTR(B.CJDM,1,1) = 'G'
                                                GROUP BY SUBSTR(A.ZZJGDM,1,4)
                                               )E      
                                        JOIN   (
                                                SELECT SHI,
                                                       'G' AS HY,
                                                       SUM(HS) AS HS,
                                                       SUM(CYRY) AS CYRY
                                                FROM   (
                                                        SELECT SUBSTR(C.ZZJGDM,1,4) AS SHI,
                                                               'G' AS HY,
                                                               COUNT(C.B000) AS HS,
                                                               SUM(C.B192) CYRY
                                                        FROM   C2013_000000_614_1A_1 C
                                                        JOIN   (
                                                                SELECT F.CJDM AS CJDM,
                                                                       F.FZ0043DM AS DM
                                                                FROM   CJCL.GY_ML_FZ0043 F
                                                                WHERE  F.BB = '201111010'
                                                                AND    LENGTH(F.FZ0043DM) = 3
                                                               )D
                                                        ON     C.B103 = D.DM
                                                        WHERE  C.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                        AND    C.BGQ = '201301YY'
                                                        AND    SUBSTR(D.CJDM,1,1) = 'G'
                                                        GROUP BY SUBSTR(C.ZZJGDM,1,4)
                                                        UNION ALL
                                                        SELECT SUBSTR(I.B105,1,4) AS SHI,
                                                               'G' AS HY,
                                                               SUM(NVL(I.C1_1,0))+SUM(NVL(I.C2_1,0)) AS HS,
                                                               SUM(NVL(I.C1_2,0))+SUM(NVL(I.C2_2,0)) AS CYRY
                                                        FROM   CJCL.C2014_000000_614_3_1 I
                                                        WHERE  I.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                        AND    I.BGQ = '201301YY'
                                                        GROUP BY SUBSTR(I.B105,1,4)
                                                       )
                                                GROUP BY SHI      
                                               )G
                                        ON     E.SHI = G.SHI AND E.HY = G.HY
                                       )
                                GROUP BY SUBSTR(SHI,1,2),HY
                               )J
                        JOIN   (
                                SELECT SUBSTR(SHI,1,2) AS SHENG,
                                       HY AS HY,
                                       SUM(CYRY) AS CYRY
                                FROM   (
                                        SELECT SHI,
                                               'G' AS HY,
                                               SUM(HS) AS HS,
                                               SUM(CYRY) AS CYRY
                                        FROM   (
                                                SELECT SUBSTR(C.ZZJGDM,1,4) AS SHI,
                                                       'G' AS HY,
                                                       COUNT(C.B000) AS HS,
                                                       SUM(C.B192) CYRY
                                                FROM   C2013_000000_614_1A_1 C
                                                JOIN   (
                                                        SELECT F.CJDM AS CJDM,
                                                               F.FZ0043DM AS DM
                                                        FROM   CJCL.GY_ML_FZ0043 F
                                                        WHERE  F.BB = '201111010'
                                                        AND    LENGTH(F.FZ0043DM) = 3
                                                       )D
                                                ON     C.B103 = D.DM
                                                WHERE  C.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                AND    C.BGQ = '201301YY'
                                                AND    SUBSTR(D.CJDM,1,1) = 'G'
                                                GROUP BY SUBSTR(C.ZZJGDM,1,4)
                                                UNION ALL
                                                SELECT SUBSTR(I.B105,1,4) AS SHI,
                                                       'G' AS HY,
                                                       SUM(NVL(I.C1_1,0))+SUM(NVL(I.C2_1,0)) AS HS,
                                                       SUM(NVL(I.C1_2,0))+SUM(NVL(I.C2_2,0)) AS CYRY
                                                FROM   CJCL.C2014_000000_614_3_1 I
                                                WHERE  I.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                                AND    I.BGQ = '201301YY'
                                                GROUP BY SUBSTR(I.B105,1,4)
                                               )
                                        GROUP BY SHI      
                                       )
                                GROUP BY SUBSTR(SHI,1,2),HY
                               )K
                        ON     J.SHENG = K.SHENG AND J.HY = K.HY
                       )L
                ON     N.SHENG = L.SHENG      
                JOIN   (
                        SELECT SHENG,
                               'G' AS HY,
                               SUM(HS) AS HS,
                               SUM(CYRY) AS CYRY
                        FROM   (
                                SELECT SUBSTR(C.ZZJGDM,1,2) AS SHENG,
                                       'G' AS HY,
                                       COUNT(C.B000) AS HS,
                                       SUM(C.B192) CYRY
                                FROM   C2013_000000_614_1A_1 C
                                JOIN   (
                                        SELECT F.CJDM AS CJDM,
                                               F.FZ0043DM AS DM
                                        FROM   CJCL.GY_ML_FZ0043 F
                                        WHERE  F.BB = '201111010'
                                        AND    LENGTH(F.FZ0043DM) = 3
                                       )D
                                ON     C.B103 = D.DM
                                WHERE  C.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                AND    C.BGQ = '201301YY'
                                AND    SUBSTR(D.CJDM,1,1) = 'G'
                                GROUP BY SUBSTR(C.ZZJGDM,1,2)
                                UNION ALL
                                SELECT SUBSTR(I.B105,1,2) AS SHENG,
                                       'G' AS HY,
                                       SUM(NVL(I.C1_1,0))+SUM(NVL(I.C2_1,0)) AS HS,
                                       SUM(NVL(I.C1_2,0))+SUM(NVL(I.C2_2,0)) AS CYRY
                                FROM   CJCL.C2014_000000_614_3_1 I
                                WHERE  I.DCDXXTM IN (SELECT DWXTM FROM CJCL.GH_DX_DCDXRW dcdxrw  WHERE  TJJGDM IN ('000000000000') AND dcdxrw.TJZYDM IN (SELECT TJZYDM FROM AQDB.ZK_JL_YH_TJZY WHERE YHID = 'zdsj') AND DCDXRW.RWID = '000000000000_700')
                                AND    I.BGQ = '201301YY'
                                GROUP BY SUBSTR(I.B105,1,2)
                               )
                        GROUP BY SHENG
                       )M
                ON     L.SHENG = M.SHENG AND L.HY = M.HY
               )
        GROUP BY HY
        ORDER BY HY      
       )
;执行计划如下:
Execution Plan
----------------------------------------------------------
Plan hash value: 2098742246

------------------------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                                            | Name                  | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | Pstart| Pstop |
------------------------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                                     |                       |     1 |    78 |       |   569K  (1)| 01:53:56 |       |       |
|   1 |  SORT AGGREGATE                                      |                       |     1 |    78 |       |            |          |       |       |
|   2 |   VIEW                                               |                       |    88 |  6864 |       |   569K  (1)| 01:53:56 |       |       |
|   3 |    HASH GROUP BY                                     |                       |    88 |  7128 |       |   569K  (1)| 01:53:56 |       |       |
|   4 |     VIEW                                             |                       |    88 |  7128 |       |   569K  (1)| 01:53:56 |       |       |
|   5 |      UNION-ALL                                       |                       |       |       |       |            |          |       |       |
|*  6 |       HASH JOIN                                      |                       |    87 | 11745 |       |   357K  (1)| 01:11:26 |       |       |
|*  7 |        HASH JOIN                                     |                       |     1 |   112 |       |   353K  (1)| 01:10:43 |       |       |
|*  8 |         HASH JOIN                                    |                       |     1 |    79 |       |   243K  (1)| 00:48:41 |       |       |
|   9 |          VIEW                                        |                       |     1 |    59 |       |   133K  (1)| 00:26:39 |       |       |
|  10 |           HASH GROUP BY                              |                       |     1 |    83 |       |   133K  (1)| 00:26:39 |       |       |
|* 11 |            HASH JOIN                                 |                       |     1 |    83 |       |   133K  (1)| 00:26:39 |       |       |
|  12 |             VIEW                                     |                       |     1 |    61 |       | 23020   (1)| 00:04:37 |       |       |
|  13 |              HASH GROUP BY                           |                       |     1 |   172 |       | 23020   (1)| 00:04:37 |       |       |
|* 14 |               FILTER                                 |                       |       |       |       |            |          |       |       |
|* 15 |                HASH JOIN                             |                       |   596 |   100K|       | 21827   (1)| 00:04:22 |       |       |
|* 16 |                 TABLE ACCESS FULL                    | GY_ML_FZ0043          |     1 |    21 |       |    13   (0)| 00:00:01 |       |       |
|  17 |                 PARTITION LIST SINGLE                |                       |  1807K|   260M|       | 21804   (1)| 00:04:22 |   KEY |   KEY |
|* 18 |                  TABLE ACCESS FULL                   | C2013_000000_614_2_1  |  1807K|   260M|       | 21804   (1)| 00:04:22 |     3 |     3 |
|  19 |                NESTED LOOPS                          |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|* 20 |                 TABLE ACCESS BY GLOBAL INDEX ROWID   | GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|* 21 |                  INDEX UNIQUE SCAN                   | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|* 22 |                 INDEX UNIQUE SCAN                    | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|  23 |             VIEW                                     |                       |  4817 |   103K|       |   110K  (1)| 00:22:03 |       |       |
|  24 |              HASH GROUP BY                           |                       |  4817 |   183K|       |   110K  (1)| 00:22:03 |       |       |
|  25 |               VIEW                                   | VM_NWVW_6             |  6811 |   259K|       |   110K  (1)| 00:22:03 |       |       |
|  26 |                HASH UNIQUE                           |                       |  6811 |  1749K|  1832K|   110K  (1)| 00:22:03 |       |       |
|  27 |                 NESTED LOOPS                         |                       |  6811 |  1749K|       |   110K  (1)| 00:22:03 |       |       |
|  28 |                  NESTED LOOPS                        |                       | 19694 |  4750K|       |   110K  (1)| 00:22:03 |       |       |
|  29 |                   NESTED LOOPS                       |                       | 19639 |  3260K|       | 51243   (1)| 00:10:15 |       |       |
|* 30 |                    TABLE ACCESS FULL                 | GY_ML_FZ0043          |     1 |    33 |       |    13   (0)| 00:00:01 |       |       |
|* 31 |                    TABLE ACCESS BY INDEX ROWID       | C2013_000000_614_1A_1 | 23929 |  3201K|       | 51230   (1)| 00:10:15 |       |       |
|* 32 |                     INDEX RANGE SCAN                 | IDX_B103              |   105K|       |       |   223   (1)| 00:00:03 |       |       |
|* 33 |                   TABLE ACCESS BY GLOBAL INDEX ROWID | GH_DX_DCDXRW          |     1 |    77 |       |     3   (0)| 00:00:01 |     8 |     8 |
|* 34 |                    INDEX UNIQUE SCAN                 | PK_GH_DX_DCDXRW       |     1 |       |       |     2   (0)| 00:00:01 |       |       |
|* 35 |                  INDEX UNIQUE SCAN                   | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|  36 |          VIEW                                        |                       |  4817 | 96340 |       |   110K  (1)| 00:22:03 |       |       |
|  37 |           HASH GROUP BY                              |                       |  4817 |   103K|       |   110K  (1)| 00:22:03 |       |       |
|  38 |            VIEW                                      |                       |  4817 |   103K|       |   110K  (1)| 00:22:03 |       |       |
|  39 |             HASH GROUP BY                            |                       |  4817 |   338K|       |   110K  (1)| 00:22:03 |       |       |
|  40 |              VIEW                                    | VM_NWVW_5             |  6811 |   478K|       |   110K  (1)| 00:22:03 |       |       |
|  41 |               HASH UNIQUE                            |                       |  6811 |  1749K|  1832K|   110K  (1)| 00:22:03 |       |       |
|  42 |                NESTED LOOPS                          |                       |  6811 |  1749K|       |   110K  (1)| 00:22:03 |       |       |
|  43 |                 NESTED LOOPS                         |                       | 19694 |  4750K|       |   110K  (1)| 00:22:03 |       |       |
|  44 |                  NESTED LOOPS                        |                       | 19639 |  3260K|       | 51243   (1)| 00:10:15 |       |       |
|* 45 |                   TABLE ACCESS FULL                  | GY_ML_FZ0043          |     1 |    33 |       |    13   (0)| 00:00:01 |       |       |
|* 46 |                   TABLE ACCESS BY INDEX ROWID        | C2013_000000_614_1A_1 | 23929 |  3201K|       | 51230   (1)| 00:10:15 |       |       |
|* 47 |                    INDEX RANGE SCAN                  | IDX_B103              |   105K|       |       |   223   (1)| 00:00:03 |       |       |
|* 48 |                  TABLE ACCESS BY GLOBAL INDEX ROWID  | GH_DX_DCDXRW          |     1 |    77 |       |     3   (0)| 00:00:01 |     8 |     8 |
|* 49 |                   INDEX UNIQUE SCAN                  | PK_GH_DX_DCDXRW       |     1 |       |       |     2   (0)| 00:00:01 |       |       |
|* 50 |                 INDEX UNIQUE SCAN                    | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|  51 |         VIEW                                         |                       |  4817 |   155K|       |   110K  (1)| 00:22:03 |       |       |
|  52 |          HASH GROUP BY                               |                       |  4817 |   319K|       |   110K  (1)| 00:22:03 |       |       |
|  53 |           VIEW                                       | VM_NWVW_4             |  6811 |   452K|       |   110K  (1)| 00:22:03 |       |       |
|  54 |            HASH UNIQUE                               |                       |  6811 |  1749K|  1832K|   110K  (1)| 00:22:03 |       |       |
|  55 |             NESTED LOOPS                             |                       |  6811 |  1749K|       |   110K  (1)| 00:22:03 |       |       |
|  56 |              NESTED LOOPS                            |                       | 19694 |  4750K|       |   110K  (1)| 00:22:03 |       |       |
|  57 |               NESTED LOOPS                           |                       | 19639 |  3260K|       | 51243   (1)| 00:10:15 |       |       |
|* 58 |                TABLE ACCESS FULL                     | GY_ML_FZ0043          |     1 |    33 |       |    13   (0)| 00:00:01 |       |       |
|* 59 |                TABLE ACCESS BY INDEX ROWID           | C2013_000000_614_1A_1 | 23929 |  3201K|       | 51230   (1)| 00:10:15 |       |       |
|* 60 |                 INDEX RANGE SCAN                     | IDX_B103              |   105K|       |       |   223   (1)| 00:00:03 |       |       |
|* 61 |               TABLE ACCESS BY GLOBAL INDEX ROWID     | GH_DX_DCDXRW          |     1 |    77 |       |     3   (0)| 00:00:01 |     8 |     8 |
|* 62 |                INDEX UNIQUE SCAN                     | PK_GH_DX_DCDXRW       |     1 |       |       |     2   (0)| 00:00:01 |       |       |
|* 63 |              INDEX UNIQUE SCAN                       | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|* 64 |        INDEX FAST FULL SCAN                          | SYS_C00397208         | 37497 |   842K|       |  3523   (2)| 00:00:43 |       |       |
|* 65 |       HASH JOIN                                      |                       |     1 |   135 |       |   212K  (1)| 00:42:31 |       |       |
|* 66 |        HASH JOIN                                     |                       |     1 |   112 |       |   209K  (1)| 00:41:49 |       |       |
|* 67 |         HASH JOIN                                    |                       |     1 |    79 |       |   146K  (1)| 00:29:21 |       |       |
|  68 |          VIEW                                        |                       |     1 |    59 |       | 84383   (1)| 00:16:53 |       |       |
|  69 |           HASH GROUP BY                              |                       |     1 |    83 |       | 84383   (1)| 00:16:53 |       |       |
|* 70 |            HASH JOIN                                 |                       |     1 |    83 |       | 84382   (1)| 00:16:53 |       |       |
|  71 |             VIEW                                     |                       |     1 |    61 |       | 22066   (1)| 00:04:25 |       |       |
|  72 |              HASH GROUP BY                           |                       |     1 |   172 |       | 22066   (1)| 00:04:25 |       |       |
|* 73 |               FILTER                                 |                       |       |       |       |            |          |       |       |
|* 74 |                HASH JOIN                             |                       |   119 | 20468 |       | 21827   (1)| 00:04:22 |       |       |
|* 75 |                 TABLE ACCESS FULL                    | GY_ML_FZ0043          |     1 |    21 |       |    13   (0)| 00:00:01 |       |       |
|  76 |                 PARTITION LIST SINGLE                |                       |  1807K|   260M|       | 21804   (1)| 00:04:22 |   KEY |   KEY |
|* 77 |                  TABLE ACCESS FULL                   | C2013_000000_614_2_1  |  1807K|   260M|       | 21804   (1)| 00:04:22 |     3 |     3 |
|  78 |                NESTED LOOPS                          |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|* 79 |                 TABLE ACCESS BY GLOBAL INDEX ROWID   | GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|* 80 |                  INDEX UNIQUE SCAN                   | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|* 81 |                 INDEX UNIQUE SCAN                    | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|  82 |             VIEW                                     |                       |     2 |    44 |       | 62316   (1)| 00:12:28 |       |       |
|  83 |              HASH GROUP BY                           |                       |     2 |    64 |       | 62316   (1)| 00:12:28 |       |       |
|  84 |               VIEW                                   |                       |     2 |    64 |       | 62315   (1)| 00:12:28 |       |       |
|  85 |                UNION-ALL                             |                       |       |       |       |            |          |       |       |
|  86 |                 HASH GROUP BY                        |                       |     1 |   146 |       | 61382   (1)| 00:12:17 |       |       |
|* 87 |                  FILTER                              |                       |       |       |       |            |          |       |       |
|  88 |                   NESTED LOOPS                       |                       |  3928 |   560K|       | 51243   (1)| 00:10:15 |       |       |
|  89 |                    NESTED LOOPS                      |                       |   105K|   560K|       | 51243   (1)| 00:10:15 |       |       |
|* 90 |                     TABLE ACCESS FULL                | GY_ML_FZ0043          |     1 |    21 |       |    13   (0)| 00:00:01 |       |       |
|* 91 |                     INDEX RANGE SCAN                 | IDX_B103              |   105K|       |       |   223   (1)| 00:00:03 |       |       |
|* 92 |                    TABLE ACCESS BY INDEX ROWID       | C2013_000000_614_1A_1 | 23929 |  2921K|       | 51230   (1)| 00:10:15 |       |       |
|  93 |                   NESTED LOOPS                       |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|* 94 |                    TABLE ACCESS BY GLOBAL INDEX ROWID| GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|* 95 |                     INDEX UNIQUE SCAN                | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|* 96 |                    INDEX UNIQUE SCAN                 | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|  97 |                 HASH GROUP BY                        |                       |     1 |    47 |       |   932   (1)| 00:00:12 |       |       |
|* 98 |                  FILTER                              |                       |       |       |       |            |          |       |       |
|  99 |                   PARTITION LIST SINGLE              |                       |   464 | 21808 |       |     4   (0)| 00:00:01 |   KEY |   KEY |
| 100 |                    TABLE ACCESS FULL                 | C2014_000000_614_3_1  |   464 | 21808 |       |     4   (0)| 00:00:01 |     3 |     3 |
| 101 |                   NESTED LOOPS                       |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|*102 |                    TABLE ACCESS BY GLOBAL INDEX ROWID| GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|*103 |                     INDEX UNIQUE SCAN                | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|*104 |                    INDEX UNIQUE SCAN                 | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
| 105 |          VIEW                                        |                       |     2 |    40 |       | 62317   (1)| 00:12:28 |       |       |
| 106 |           HASH GROUP BY                              |                       |     2 |    44 |       | 62317   (1)| 00:12:28 |       |       |
| 107 |            VIEW                                      |                       |     2 |    44 |       | 62316   (1)| 00:12:28 |       |       |
| 108 |             HASH GROUP BY                            |                       |     2 |    64 |       | 62316   (1)| 00:12:28 |       |       |
| 109 |              VIEW                                    |                       |     2 |    64 |       | 62315   (1)| 00:12:28 |       |       |
| 110 |               UNION-ALL                              |                       |       |       |       |            |          |       |       |
| 111 |                HASH GROUP BY                         |                       |     1 |   146 |       | 61382   (1)| 00:12:17 |       |       |
|*112 |                 FILTER                               |                       |       |       |       |            |          |       |       |
| 113 |                  NESTED LOOPS                        |                       |  3928 |   560K|       | 51243   (1)| 00:10:15 |       |       |
| 114 |                   NESTED LOOPS                       |                       |   105K|   560K|       | 51243   (1)| 00:10:15 |       |       |
|*115 |                    TABLE ACCESS FULL                 | GY_ML_FZ0043          |     1 |    21 |       |    13   (0)| 00:00:01 |       |       |
|*116 |                    INDEX RANGE SCAN                  | IDX_B103              |   105K|       |       |   223   (1)| 00:00:03 |       |       |
|*117 |                   TABLE ACCESS BY INDEX ROWID        | C2013_000000_614_1A_1 | 23929 |  2921K|       | 51230   (1)| 00:10:15 |       |       |
| 118 |                  NESTED LOOPS                        |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|*119 |                   TABLE ACCESS BY GLOBAL INDEX ROWID | GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|*120 |                    INDEX UNIQUE SCAN                 | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|*121 |                   INDEX UNIQUE SCAN                  | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
| 122 |                HASH GROUP BY                         |                       |     1 |    47 |       |   932   (1)| 00:00:12 |       |       |
|*123 |                 FILTER                               |                       |       |       |       |            |          |       |       |
| 124 |                  PARTITION LIST SINGLE               |                       |   464 | 21808 |       |     4   (0)| 00:00:01 |   KEY |   KEY |
| 125 |                   TABLE ACCESS FULL                  | C2014_000000_614_3_1  |   464 | 21808 |       |     4   (0)| 00:00:01 |     3 |     3 |
| 126 |                  NESTED LOOPS                        |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|*127 |                   TABLE ACCESS BY GLOBAL INDEX ROWID | GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|*128 |                    INDEX UNIQUE SCAN                 | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|*129 |                   INDEX UNIQUE SCAN                  | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
| 130 |         VIEW                                         |                       |     2 |    66 |       | 62316   (1)| 00:12:28 |       |       |
| 131 |          HASH GROUP BY                               |                       |     2 |    60 |       | 62316   (1)| 00:12:28 |       |       |
| 132 |           VIEW                                       |                       |     2 |    60 |       | 62315   (1)| 00:12:28 |       |       |
| 133 |            UNION-ALL                                 |                       |       |       |       |            |          |       |       |
| 134 |             HASH GROUP BY                            |                       |     1 |   146 |       | 61382   (1)| 00:12:17 |       |       |
|*135 |              FILTER                                  |                       |       |       |       |            |          |       |       |
| 136 |               NESTED LOOPS                           |                       |  3928 |   560K|       | 51243   (1)| 00:10:15 |       |       |
| 137 |                NESTED LOOPS                          |                       |   105K|   560K|       | 51243   (1)| 00:10:15 |       |       |
|*138 |                 TABLE ACCESS FULL                    | GY_ML_FZ0043          |     1 |    21 |       |    13   (0)| 00:00:01 |       |       |
|*139 |                 INDEX RANGE SCAN                     | IDX_B103              |   105K|       |       |   223   (1)| 00:00:03 |       |       |
|*140 |                TABLE ACCESS BY INDEX ROWID           | C2013_000000_614_1A_1 | 23929 |  2921K|       | 51230   (1)| 00:10:15 |       |       |
| 141 |               NESTED LOOPS                           |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|*142 |                TABLE ACCESS BY GLOBAL INDEX ROWID    | GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|*143 |                 INDEX UNIQUE SCAN                    | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|*144 |                INDEX UNIQUE SCAN                     | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
| 145 |             HASH GROUP BY                            |                       |     1 |    47 |       |   932   (1)| 00:00:12 |       |       |
|*146 |              FILTER                                  |                       |       |       |       |            |          |       |       |
| 147 |               PARTITION LIST SINGLE                  |                       |   464 | 21808 |       |     4   (0)| 00:00:01 |   KEY |   KEY |
| 148 |                TABLE ACCESS FULL                     | C2014_000000_614_3_1  |   464 | 21808 |       |     4   (0)| 00:00:01 |     3 |     3 |
| 149 |               NESTED LOOPS                           |                       |     1 |    93 |       |     4   (0)| 00:00:01 |       |       |
|*150 |                TABLE ACCESS BY GLOBAL INDEX ROWID    | GH_DX_DCDXRW          |     1 |    77 |       |     4   (0)| 00:00:01 |     8 |     8 |
|*151 |                 INDEX UNIQUE SCAN                    | PK_GH_DX_DCDXRW       |     1 |       |       |     3   (0)| 00:00:01 |       |       |
|*152 |                INDEX UNIQUE SCAN                     | PK_ZK_JL_YH_TJZY      |     1 |    16 |       |     0   (0)| 00:00:01 |       |       |
|*153 |        INDEX FAST FULL SCAN                          | SYS_C00397208         | 37497 |   842K|       |  3523   (2)| 00:00:43 |       |       |
------------------------------------------------------------------------------------------------------------------------------------------------------

sql的执行计划.txt (29.61 KB, 下载次数: 13)
认证徽章
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
发表于 2014-7-3 10:12 | 显示全部楼层
能不能分页展示呢?

使用道具 举报

回复
认证徽章
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
发表于 2014-7-3 10:13 | 显示全部楼层
压缩表,你这个表示静态表吗

使用道具 举报

回复
论坛徽章:
1
 楼主| 发表于 2014-7-3 10:18 | 显示全部楼层
buptdream 发表于 2014-7-3 10:13
压缩表,你这个表示静态表吗

这个大表的数据几乎不再变化了。

使用道具 举报

回复
论坛徽章:
1
 楼主| 发表于 2014-7-3 10:21 | 显示全部楼层
buptdream 发表于 2014-7-3 10:12
能不能分页展示呢?

这个不查询结果集不大,因为它是做类似于SUM这样的分组求和的。

使用道具 举报

回复
认证徽章
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
发表于 2014-7-3 10:23 | 显示全部楼层
你最终数据返回有多少行?

使用道具 举报

回复
认证徽章
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
发表于 2014-7-3 10:24 | 显示全部楼层
你最好把sql粘贴出来,帮你分析分析

使用道具 举报

回复
论坛徽章:
1
 楼主| 发表于 2014-7-3 10:27 | 显示全部楼层
buptdream 发表于 2014-7-3 10:23
你最终数据返回有多少行?

最终数据就一行

使用道具 举报

回复
论坛徽章:
1
 楼主| 发表于 2014-7-3 10:29 | 显示全部楼层
buptdream 发表于 2014-7-3 10:24
你最好把sql粘贴出来,帮你分析分析

SQL已经放到帖子里面了

使用道具 举报

回复
论坛徽章:
1
 楼主| 发表于 2014-7-3 10:30 | 显示全部楼层
buptdream 发表于 2014-7-3 10:23
你最终数据返回有多少行?

最终返回1行数据

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表