SQL优化之实际环境下你能找到谓语推入吗?

关注我的微信公众号:pythonislover,领取python,大数据,SQL优化相关视频资料!~

Python大数据与SQL优化笔 QQ群:771686295

光说不练假把式,昨天说了SQL谓语推入,举得例子执行计划不超过20行,可能你还能看出来哪里发生了谓语推入,今天我发个以前网友的实际环境SQL, 执行计划300多行,你还能找到哪里发生了谓语推入吗?直接上代码,找找吧。

merge into WTRFL_CAMP_SUM wtrflusing (select    ch.contactdate CONTACTDATE,    ch.lvm_acct_type cmpgn_acct_type,    ch.campaignid CAMPAIGNID,    ch.wave_no WAVE_NO,    ut.flowchartid FLOWCHARTID,    voa.channel CHANNEL,    ch.prmry_reside_cntry_code cntry_code,    '7' as wtrfl_id,    'Campaign Target' as wtrfl_desc,    count(1) as wtrfl_total_cnt,    trunc(sysdate) db_insrt_dt    from VW_CONTACTHISTORY ch    inner join UA_TREATMENT ut    on ut.treatmentcode = ch.treatmentcode    inner join VW_OFFER_ATTRIBUTES voa    on ch.treatmentcode = voa.treatmentcode    where ch.contactdate = trunc(sysdate) and ch.contactstatusid in (2,3)  group by    ch.contactdate,    ch.lvm_acct_type ,    ch.campaignid,    ch.wave_no,    ut.flowchartid,    voa.channel,    ch.prmry_reside_cntry_code,    '7',    'Campaign Target',    trunc(sysdate)) chsumon (  wtrfl.contactdate = chsum.contactdate  and wtrfl.cmpgn_acct_type = chsum.cmpgn_acct_type  and wtrfl.campaignid = chsum.campaignid  and wtrfl.wave_no = chsum.wave_no  and wtrfl.flowchartid = chsum.flowchartid  and wtrfl.channel = chsum.channel  and wtrfl.cntry_code = chsum.cntry_code  and wtrfl.wtrfl_id = chsum.wtrfl_id  and wtrfl.wtrfl_desc = chsum.wtrfl_desc)when matched then update set  wtrfl.wtrfl_total_cnt = chsum.wtrfl_total_cnt,  wtrfl.db_insrt_dt = chsum.db_insrt_dtwhen not matched then insert values(  chsum.contactdate,  chsum.cmpgn_acct_type,  chsum.campaignid,  chsum.wave_no,  chsum.flowchartid,  chsum.channel,  chsum.cntry_code,  chsum.wtrfl_id,  chsum.wtrfl_desc,  chsum.wtrfl_total_cnt,  chsum.db_insrt_dt)


Plan hash value: 3972601309
-----------------------------------------------------------------------------------------------------------------------------------------------| Id  | Operation                                                    | Name                   | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |-----------------------------------------------------------------------------------------------------------------------------------------------|   0 | MERGE STATEMENT                                              |                        |       |       |       |  1900K(100)|          ||   1 |  MERGE                                                       | WTRFL_CAMP_SUM         |       |       |       |            |          ||   2 |   VIEW                                                       |                        |       |       |       |            |          ||*  3 |    HASH JOIN RIGHT OUTER                                     |                        |  3384K|  2278M|    21M|  1900K  (1)| 06:20:08 ||   4 |     TABLE ACCESS FULL                                        | WTRFL_CAMP_SUM         |   250K|    18M|       |   789   (1)| 00:00:10 ||   5 |     VIEW                                                     |                        |  3384K|  2033M|       |  1796K  (1)| 05:59:13 ||   6 |      SORT GROUP BY                                           |                        |  3384K|  1865M|  2709M|  1796K  (1)| 05:59:13 ||*  7 |       HASH JOIN                                              |                        |  4508K|  2485M|   105M|  1334K  (2)| 04:26:56 ||*  8 |        HASH JOIN                                             |                        |  1676K|    86M|  3416K|  1223K  (2)| 04:04:38 ||   9 |         TABLE ACCESS FULL                                    | UA_TREATMENT           |   129K|  1894K|       |   515   (1)| 00:00:07 ||  10 |         VIEW                                                 | VW_CONTACTHISTORY      |  1676K|    62M|       |  1218K  (2)| 04:03:41 ||  11 |          UNION-ALL                                           |                        |       |       |       |            |          ||  12 |           NESTED LOOPS                                       |                        |       |       |       |            |          ||  13 |            NESTED LOOPS                                      |                        |     1 |   119 |       |   516   (1)| 00:00:07 ||  14 |             TABLE ACCESS FULL                                | UA_TREATMENT           |   129K|  3157K|       |   514   (1)| 00:00:07 ||* 15 |             INDEX RANGE SCAN                                 | UA_CONTACTHISTORY_IDX1 |     1 |       |       |     0   (0)|          ||* 16 |            TABLE ACCESS BY INDEX ROWID                       | UA_CONTACTHISTORY      |     1 |    94 |       |     0   (0)|          |
谓语推人  15 - access("CH"."PACKAGEID"="UT"."PACKAGEID" AND "CH"."CELLID"="UT"."CELLID")  16 - filter((INTERNAL_FUNCTION("CH"."CONTACTSTATUSID") AND TRUNC(INTERNAL_FUNCTION("CH"."CONTACTDATETIME"))=TRUNC(SYSDATE@!)))  select count(*) from UA_CONTACTHISTORY ch where ch.CONTACTDATETIME = trunc(sysdate) and ch.contactstatusid in (2,3)  
|* 17 |           HASH JOIN                                          |                        |  1676K|    86M|  4048K|  1217K  (2)| 04:03:35 ||  18 |            TABLE ACCESS FULL                                 | UA_TREATMENT           |   129K|  2525K|       |   514   (1)| 00:00:07 ||* 19 |            TABLE ACCESS FULL                                 | UA_DTLCONTACTHIST      |  1676K|    54M|       |  1213K  (2)| 04:02:42 ||  20 |        VIEW                                                  | VW_OFFER_ATTRIBUTES    |   347K|   173M|       | 97481   (1)| 00:19:30 ||  21 |         SORT UNIQUE                                          |                        |   347K|   307M|   339M| 97481   (1)| 00:19:30 ||* 22 |          HASH JOIN RIGHT OUTER                               |                        |   347K|   307M|       | 29822   (2)| 00:05:58 ||  23 |           TABLE ACCESS BY INDEX ROWID                        | UA_OFFERATTRIBUTE      |     9 |    99 |       |     2   (0)| 00:00:01 ||* 24 |            INDEX SKIP SCAN                                   | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 25 |           HASH JOIN RIGHT OUTER                              |                        |   340K|   297M|       | 29818   (2)| 00:05:58 ||  26 |            TABLE ACCESS BY INDEX ROWID                       | UA_OFFERATTRIBUTE      |     9 |    99 |       |     2   (0)| 00:00:01 ||* 27 |             INDEX SKIP SCAN                                  | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 28 |            HASH JOIN RIGHT OUTER                             |                        |   333K|   288M|       | 29814   (2)| 00:05:58 ||  29 |             TABLE ACCESS BY INDEX ROWID                      | UA_OFFERATTRIBUTE      |     9 |    99 |       |     2   (0)| 00:00:01 ||* 30 |              INDEX SKIP SCAN                                 | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 31 |             HASH JOIN                                        |                        |   327K|   278M|       | 29810   (2)| 00:05:58 ||  32 |              TABLE ACCESS FULL                               | UA_OFFER               |     9 |   369 |       |     3   (0)| 00:00:01 ||* 33 |              HASH JOIN RIGHT OUTER                           |                        |   327K|   266M|       | 29805   (2)| 00:05:58 ||  34 |               TABLE ACCESS BY INDEX ROWID                    | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 35 |                INDEX SKIP SCAN                               | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 36 |               HASH JOIN RIGHT OUTER                          |                        |   320K|   253M|       | 29801   (2)| 00:05:58 ||  37 |                TABLE ACCESS BY INDEX ROWID                   | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 38 |                 INDEX SKIP SCAN                              | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 39 |                HASH JOIN RIGHT OUTER                         |                        |   313K|   241M|       | 29797   (2)| 00:05:58 ||  40 |                 TABLE ACCESS BY INDEX ROWID                  | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 41 |                  INDEX SKIP SCAN                             | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 42 |                 HASH JOIN RIGHT OUTER                        |                        |   307K|   229M|       | 29793   (2)| 00:05:58 ||  43 |                  TABLE ACCESS BY INDEX ROWID                 | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 44 |                   INDEX SKIP SCAN                            | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 45 |                  HASH JOIN RIGHT OUTER                       |                        |   301K|   218M|       | 29789   (2)| 00:05:58 ||  46 |                   TABLE ACCESS BY INDEX ROWID                | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 47 |                    INDEX SKIP SCAN                           | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 48 |                   HASH JOIN RIGHT OUTER                      |                        |   295K|   207M|       | 29785   (2)| 00:05:58 ||  49 |                    TABLE ACCESS BY INDEX ROWID               | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 50 |                     INDEX SKIP SCAN                          | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 51 |                    HASH JOIN RIGHT OUTER                     |                        |   289K|   197M|       | 29781   (2)| 00:05:58 ||  52 |                     TABLE ACCESS BY INDEX ROWID              | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 53 |                      INDEX SKIP SCAN                         | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 54 |                     HASH JOIN RIGHT OUTER                    |                        |   283K|   187M|       | 29777   (2)| 00:05:58 ||  55 |                      TABLE ACCESS BY INDEX ROWID             | UA_OFFERATTRIBUTE      |     5 |   115 |       |     2   (0)| 00:00:01 ||* 56 |                       INDEX SKIP SCAN                        | COFFERATTRIB_PK        |     5 |       |       |     1   (0)| 00:00:01 ||* 57 |                      HASH JOIN RIGHT OUTER                   |                        |   283K|   180M|       | 29773   (2)| 00:05:58 ||  58 |                       TABLE ACCESS BY INDEX ROWID            | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 59 |                        INDEX SKIP SCAN                       | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 60 |                       HASH JOIN RIGHT OUTER                  |                        |   277K|   171M|       | 29769   (2)| 00:05:58 ||  61 |                        TABLE ACCESS BY INDEX ROWID           | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 62 |                         INDEX SKIP SCAN                      | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 63 |                        HASH JOIN RIGHT OUTER                 |                        |   272K|   161M|       | 29765   (2)| 00:05:58 ||  64 |                         TABLE ACCESS BY INDEX ROWID          | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 65 |                          INDEX SKIP SCAN                     | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 66 |                         HASH JOIN RIGHT OUTER                |                        |   266K|   152M|       | 29762   (2)| 00:05:58 ||  67 |                          TABLE ACCESS BY INDEX ROWID         | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 68 |                           INDEX SKIP SCAN                    | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 69 |                          HASH JOIN RIGHT OUTER               |                        |   261K|   143M|       | 29758   (2)| 00:05:58 ||  70 |                           TABLE ACCESS BY INDEX ROWID        | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 71 |                            INDEX SKIP SCAN                   | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 72 |                           HASH JOIN RIGHT OUTER              |                        |   255K|   135M|       | 29754   (2)| 00:05:58 ||  73 |                            TABLE ACCESS BY INDEX ROWID       | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 74 |                             INDEX SKIP SCAN                  | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 75 |                            HASH JOIN RIGHT OUTER             |                        |   250K|   127M|       | 29750   (2)| 00:05:57 ||  76 |                             TABLE ACCESS BY INDEX ROWID      | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 77 |                              INDEX SKIP SCAN                 | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 78 |                             HASH JOIN RIGHT OUTER            |                        |   245K|   119M|       | 29747   (2)| 00:05:57 ||  79 |                              TABLE ACCESS BY INDEX ROWID     | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 80 |                               INDEX SKIP SCAN                | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 81 |                              HASH JOIN RIGHT OUTER           |                        |   245K|   113M|       | 29743   (2)| 00:05:57 ||  82 |                               TABLE ACCESS BY INDEX ROWID    | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 83 |                                INDEX SKIP SCAN               | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 84 |                               HASH JOIN RIGHT OUTER          |                        |   240K|   106M|       | 29739   (2)| 00:05:57 ||  85 |                                TABLE ACCESS BY INDEX ROWID   | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 86 |                                 INDEX SKIP SCAN              | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 87 |                                HASH JOIN RIGHT OUTER         |                        |   235K|    98M|       | 29736   (2)| 00:05:57 ||  88 |                                 TABLE ACCESS BY INDEX ROWID  | UA_OFFERATTRIBUTE      |     9 |   207 |       |     2   (0)| 00:00:01 ||* 89 |                                  INDEX SKIP SCAN             | COFFERATTRIB_PK        |     9 |       |       |     1   (0)| 00:00:01 ||* 90 |                                 HASH JOIN RIGHT OUTER        |                        |   231K|    91M|       | 29732   (2)| 00:05:57 ||* 91 |                                  TABLE ACCESS FULL           | UA_OFFERHISTATTRIB     | 65894 |   772K|       |  1174   (2)| 00:00:15 ||* 92 |                                  HASH JOIN RIGHT OUTER       |                        |   228K|    87M|       | 28556   (2)| 00:05:43 ||* 93 |                                   TABLE ACCESS FULL          | UA_OFFERHISTATTRIB     | 61106 |   716K|       |  1174   (2)| 00:00:15 ||* 94 |                                   HASH JOIN RIGHT OUTER      |                        |   228K|    85M|       | 27381   (2)| 00:05:29 ||* 95 |                                    TABLE ACCESS FULL         | UA_OFFERHISTATTRIB     | 29527 |   317K|       |  1173   (2)| 00:00:15 ||* 96 |                                    HASH JOIN RIGHT OUTER     |                        |   228K|    82M|       | 26206   (2)| 00:05:15 ||* 97 |                                     TABLE ACCESS FULL        | UA_OFFERHISTATTRIB     | 67490 |  1186K|       |  1173   (2)| 00:00:15 ||* 98 |                                     HASH JOIN RIGHT OUTER    |                        |   220K|    76M|       | 25030   (2)| 00:05:01 ||* 99 |                                      TABLE ACCESS FULL       | UA_OFFERHISTATTRIB     | 29527 |   519K|       |  1173   (2)| 00:00:15 ||*100 |                                      HASH JOIN RIGHT OUTER   |                        |   220K|    72M|       | 23855   (2)| 00:04:47 ||*101 |                                       TABLE ACCESS FULL      | UA_OFFERHISTATTRIB     | 29527 |   519K|       |  1173   (2)| 00:00:15 ||*102 |                                       HASH JOIN RIGHT OUTER  |                        |   220K|    68M|       | 22680   (2)| 00:04:33 ||*103 |                                        TABLE ACCESS FULL     | UA_OFFERHISTATTRIB     | 62018 |  1090K|       |  1173   (2)| 00:00:15 ||*104 |                                        HASH JOIN RIGHT OUTER |                        |   220K|    64M|       | 21504   (2)| 00:04:19 ||*105 |                                         TABLE ACCESS FULL    | UA_OFFERHISTATTRIB     | 67262 |  1182K|       |  1173   (2)| 00:00:15 ||*106 | R                                       HASH JOIN RIGHT OUTE |                        |   212K|    59M|       | 20329   (2)| 00:04:04 ||*107 |                                          TABLE ACCESS FULL   | UA_OFFERHISTATTRIB     | 59054 |  1038K|       |  1173   (2)| 00:00:15 ||*108 | ER                                       HASH JOIN RIGHT OUT |                        |   212K|    55M|       | 19153   (2)| 00:03:50 ||*109 |                                           TABLE ACCESS FULL  | UA_OFFERHISTATTRIB     | 68630 |  1206K|       |  1173   (2)| 00:00:15 ||*110 | TER                                       HASH JOIN RIGHT OU |                        |   201K|    49M|       | 17978   (2)| 00:03:36 ||*111 |                                            TABLE ACCESS FULL | UA_OFFERHISTATTRIB     | 69086 |  1214K|       |  1173   (2)| 00:00:15 ||*112 | UTER                                       HASH JOIN RIGHT O |                        |   190K|    42M|       | 16803   (2)| 00:03:22 ||*113 | L                                           TABLE ACCESS FUL | UA_OFFERHISTATTRIB     | 63158 |  1110K|       |  1173   (2)| 00:00:15 ||*114 | OUTER                                       HASH JOIN RIGHT  |                        |   190K|    39M|  2072K| 15627   (2)| 00:03:08 ||*115 | LL                                           TABLE ACCESS FU | UA_OFFERHISTATTRIB     | 70454 |  1238K|       |  1173   (2)| 00:00:15 ||*116 |  OUTER                                       HASH JOIN RIGHT |                        |   175K|    33M|       | 12582   (2)| 00:02:31 ||*117 | ULL                                           TABLE ACCESS F | UA_OFFERHISTATTRIB     | 67946 |  1194K|       |  1173   (2)| 00:00:15 ||*118 | T OUTER                                       HASH JOIN RIGH |                        |   168K|    29M|       | 11407   (2)| 00:02:17 ||*119 | FULL                                           TABLE ACCESS  | UA_OFFERHISTATTRIB     | 69086 |  1214K|       |  1173   (2)| 00:00:15 ||*120 | HT OUTER                                       HASH JOIN RIG |                        |   158K|    24M|       | 10231   (2)| 00:02:03 ||*121 |  FULL                                           TABLE ACCESS | UA_OFFERHISTATTRIB     | 62246 |  1094K|       |  1173   (2)| 00:00:15 ||*122 | GHT OUTER                                       HASH JOIN RI |                        |   158K|    22M|       |  9056   (2)| 00:01:49 ||*123 | S FULL                                           TABLE ACCES | UA_OFFERHISTATTRIB     | 63386 |  1114K|       |  1173   (2)| 00:00:15 ||*124 | IGHT OUTER                                       HASH JOIN R |                        |   158K|    19M|  2072K|  7881   (2)| 00:01:35 ||*125 | SS FULL                                           TABLE ACCE | UA_OFFERHISTATTRIB     | 70454 |  1238K|       |  1173   (2)| 00:00:15 ||*126 | RIGHT OUTER                                       HASH JOIN  |                        |   146K|    15M|       |  5754   (2)| 00:01:10 ||*127 | ESS FULL                                           TABLE ACC | UA_OFFERHISTATTRIB     | 62132 |  1092K|       |  1173   (2)| 00:00:15 ||*128 |  RIGHT OUTER                                       HASH JOIN |                        |   146K|    12M|       |  4579   (2)| 00:00:55 ||*129 | CESS FULL                                           TABLE AC | UA_OFFERHISTATTRIB     | 62930 |  1106K|       |  1173   (2)| 00:00:15 ||*130 | N RIGHT OUTER                                       HASH JOI |                        |   146K|    10M|  2088K|  3403   (1)| 00:00:41 ||*131 | CCESS FULL                                           TABLE A | UA_OFFERHISTATTRIB     | 71138 |  1250K|       |  1173   (2)| 00:00:15 ||*132 | IN RIGHT OUTER                                       HASH JO |                        |   133K|  7441K|       |  1689   (2)| 00:00:21 ||*133 | ACCESS FULL                                           TABLE  | UA_OFFERHISTATTRIB     | 67262 |  1182K|       |  1173   (2)| 00:00:15 || 134 | ACCESS FULL                                           TABLE  | UA_TREATMENT           |   129K|  4925K|       |   514   (1)| 00:00:07 |-----------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):---------------------------------------------------
   3 - access("WTRFL"."WTRFL_DESC"="CHSUM"."WTRFL_DESC" AND "WTRFL"."WTRFL_ID"=TO_NUMBER("CHSUM"."WTRFL_ID") AND              "WTRFL"."CNTRY_CODE"="CHSUM"."CNTRY_CODE" AND "WTRFL"."CHANNEL"="CHSUM"."CHANNEL" AND "WTRFL"."FLOWCHARTID"="CHSUM"."FLOWCHARTID" AND              "WTRFL"."WAVE_NO"="CHSUM"."WAVE_NO" AND "WTRFL"."CAMPAIGNID"="CHSUM"."CAMPAIGNID" AND              "WTRFL"."CMPGN_ACCT_TYPE"="CHSUM"."CMPGN_ACCT_TYPE" AND "WTRFL"."CONTACTDATE"="CHSUM"."CONTACTDATE")   7 - access("CH"."TREATMENTCODE"="VOA"."TREATMENTCODE")   8 - access("UT"."TREATMENTCODE"="CH"."TREATMENTCODE")  15 - access("CH"."PACKAGEID"="UT"."PACKAGEID" AND "CH"."CELLID"="UT"."CELLID")  16 - filter((INTERNAL_FUNCTION("CH"."CONTACTSTATUSID") AND TRUNC(INTERNAL_FUNCTION("CH"."CONTACTDATETIME"))=TRUNC(SYSDATE@!)))  17 - access("DCH"."TREATMENTINSTID"="UT"."TREATMENTINSTID")  19 - filter((INTERNAL_FUNCTION("DCH"."CONTACTSTATUSID") AND TRUNC(INTERNAL_FUNCTION("DCH"."CONTACTDATETIME"))=TRUNC(SYSDATE@!)))  22 - access("UAT"."OFFERID"="UAO_OSD"."OFFERID")  24 - access("UAO_OSD"."ATTRIBUTEID"=1)       filter("UAO_OSD"."ATTRIBUTEID"=1)  25 - access("UAT"."OFFERID"="UAO_OED"."OFFERID")  27 - access("UAO_OED"."ATTRIBUTEID"=2)       filter("UAO_OED"."ATTRIBUTEID"=2)  28 - access("UAT"."OFFERID"="UAO_OD"."OFFERID")  30 - access("UAO_OD"."ATTRIBUTEID"=3)       filter("UAO_OD"."ATTRIBUTEID"=3)  31 - access("UAT"."OFFERID"="OFF"."OFFERID")  33 - access("UAT"."OFFERID"="UAO_CH"."OFFERID")  35 - access("UAO_CH"."ATTRIBUTEID"=10)       filter("UAO_CH"."ATTRIBUTEID"=10)  36 - access("UAT"."OFFERID"="UAO_OT"."OFFERID")  38 - access("UAO_OT"."ATTRIBUTEID"=119)       filter("UAO_OT"."ATTRIBUTEID"=119)  39 - access("UAT"."OFFERID"="UAO_OST"."OFFERID")  41 - access("UAO_OST"."ATTRIBUTEID"=120)       filter("UAO_OST"."ATTRIBUTEID"=120)  42 - access("UAT"."OFFERID"="UAO_PRD"."OFFERID")  44 - access("UAO_PRD"."ATTRIBUTEID"=122)       filter("UAO_PRD"."ATTRIBUTEID"=122)  45 - access("UAT"."OFFERID"="UAO_SRD"."OFFERID")  47 - access("UAO_SRD"."ATTRIBUTEID"=123)       filter("UAO_SRD"."ATTRIBUTEID"=123)  48 - access("UAT"."OFFERID"="UAO_ODN"."OFFERID")  50 - access("UAO_ODN"."ATTRIBUTEID"=124)       filter("UAO_ODN"."ATTRIBUTEID"=124)  51 - access("UAT"."OFFERID"="UAO_OB"."OFFERID")  53 - access("UAO_OB"."ATTRIBUTEID"=121)       filter("UAO_OB"."ATTRIBUTEID"=121)  54 - access("UAT"."OFFERID"="UAO_OTM"."OFFERID")  56 - access("UAO_OTM"."ATTRIBUTEID"=135)       filter("UAO_OTM"."ATTRIBUTEID"=135)  57 - access("UAT"."OFFERID"="UAO_OCFC"."OFFERID")  59 - access("UAO_OCFC"."ATTRIBUTEID"=129)       filter("UAO_OCFC"."ATTRIBUTEID"=129)  60 - access("UAT"."OFFERID"="UAO_OCVC"."OFFERID")  62 - access("UAO_OCVC"."ATTRIBUTEID"=130)       filter("UAO_OCVC"."ATTRIBUTEID"=130)  63 - access("UAT"."OFFERID"="UAO_OCI"."OFFERID")  65 - access("UAO_OCI"."ATTRIBUTEID"=125)       filter("UAO_OCI"."ATTRIBUTEID"=125)  66 - access("UAT"."OFFERID"="UAO_OCD"."OFFERID")  68 - access("UAO_OCD"."ATTRIBUTEID"=126)       filter("UAO_OCD"."ATTRIBUTEID"=126)  69 - access("UAT"."OFFERID"="UAO_OLS"."OFFERID")  71 - access("UAO_OLS"."ATTRIBUTEID"=128)       filter("UAO_OLS"."ATTRIBUTEID"=128)  72 - access("UAT"."OFFERID"="UAO_OFC"."OFFERID")  74 - access("UAO_OFC"."ATTRIBUTEID"=31)       filter("UAO_OFC"."ATTRIBUTEID"=31)  75 - access("UAT"."OFFERID"="UAO_OVC"."OFFERID")  77 - access("UAO_OVC"."ATTRIBUTEID"=131)       filter("UAO_OVC"."ATTRIBUTEID"=131)  78 - access("UAT"."OFFERID"="UAO_SW"."OFFERID")  80 - access("UAO_SW"."ATTRIBUTEID"=136)       filter("UAO_SW"."ATTRIBUTEID"=136)  81 - access("UAT"."OFFERID"="UAO_S1"."OFFERID")  83 - access("UAO_S1"."ATTRIBUTEID"=132)       filter("UAO_S1"."ATTRIBUTEID"=132)  84 - access("UAT"."OFFERID"="UAO_S2"."OFFERID")  86 - access("UAO_S2"."ATTRIBUTEID"=133)       filter("UAO_S2"."ATTRIBUTEID"=133)  87 - access("UAT"."OFFERID"="UAO_S3"."OFFERID")  89 - access("UAO_S3"."ATTRIBUTEID"=134)       filter("UAO_S3"."ATTRIBUTEID"=134)  90 - access("UAT"."OFFERHISTORYID"="UAOH_OSD"."OFFERHISTORYID")  91 - filter("UAOH_OSD"."ATTRIBUTEID"=1)  92 - access("UAT"."OFFERHISTORYID"="UAOH_OED"."OFFERHISTORYID")  93 - filter("UAOH_OED"."ATTRIBUTEID"=2)  94 - access("UAT"."OFFERHISTORYID"="UAOH_OD"."OFFERHISTORYID")  95 - filter("UAOH_OD"."ATTRIBUTEID"=3)  96 - access("UAT"."OFFERHISTORYID"="UAOH_CH"."OFFERHISTORYID")  97 - filter("UAOH_CH"."ATTRIBUTEID"=10)  98 - access("UAT"."OFFERHISTORYID"="UAOH_OT"."OFFERHISTORYID")  99 - filter("UAOH_OT"."ATTRIBUTEID"=119) 100 - access("UAT"."OFFERHISTORYID"="UAOH_OST"."OFFERHISTORYID") 101 - filter("UAOH_OST"."ATTRIBUTEID"=120) 102 - access("UAT"."OFFERHISTORYID"="UAOH_PRD"."OFFERHISTORYID") 103 - filter("UAOH_PRD"."ATTRIBUTEID"=122) 104 - access("UAT"."OFFERHISTORYID"="UAOH_SRD"."OFFERHISTORYID") 105 - filter("UAOH_SRD"."ATTRIBUTEID"=123) 106 - access("UAT"."OFFERHISTORYID"="UAOH_ODN"."OFFERHISTORYID") 107 - filter("UAOH_ODN"."ATTRIBUTEID"=124) 108 - access("UAT"."OFFERHISTORYID"="UAOH_OB"."OFFERHISTORYID") 109 - filter("UAOH_OB"."ATTRIBUTEID"=121) 110 - access("UAT"."OFFERHISTORYID"="UAOH_OTM"."OFFERHISTORYID") 111 - filter("UAOH_OTM"."ATTRIBUTEID"=135) 112 - access("UAT"."OFFERHISTORYID"="UAOH_OCFC"."OFFERHISTORYID") 113 - filter("UAOH_OCFC"."ATTRIBUTEID"=129) 114 - access("UAT"."OFFERHISTORYID"="UAOH_OCVC"."OFFERHISTORYID") 115 - filter("UAOH_OCVC"."ATTRIBUTEID"=130) 116 - access("UAT"."OFFERHISTORYID"="UAOH_OCI"."OFFERHISTORYID") 117 - filter("UAOH_OCI"."ATTRIBUTEID"=125) 118 - access("UAT"."OFFERHISTORYID"="UAOH_OCD"."OFFERHISTORYID") 119 - filter("UAOH_OCD"."ATTRIBUTEID"=126) 120 - access("UAT"."OFFERHISTORYID"="UAOH_OLS"."OFFERHISTORYID") 121 - filter("UAOH_OLS"."ATTRIBUTEID"=128) 122 - access("UAT"."OFFERHISTORYID"="UAOH_OFC"."OFFERHISTORYID") 123 - filter("UAOH_OFC"."ATTRIBUTEID"=31) 124 - access("UAT"."OFFERHISTORYID"="UAOH_OVC"."OFFERHISTORYID") 125 - filter("UAOH_OVC"."ATTRIBUTEID"=131) 126 - access("UAT"."OFFERHISTORYID"="UAOH_SW"."OFFERHISTORYID") 127 - filter("UAOH_SW"."ATTRIBUTEID"=136) 128 - access("UAT"."OFFERHISTORYID"="UAOH_S1"."OFFERHISTORYID") 129 - filter("UAOH_S1"."ATTRIBUTEID"=132) 130 - access("UAT"."OFFERHISTORYID"="UAOH_S2"."OFFERHISTORYID") 131 - filter("UAOH_S2"."ATTRIBUTEID"=133) 132 - access("UAT"."OFFERHISTORYID"="UAOH_S3"."OFFERHISTORYID") 133 - filter("UAOH_S3"."ATTRIBUTEID"=134)


 CREATE OR REPLACE FORCE VIEW "CAMPAIGN"."VW_CONTACTHISTORY" ("CUSTOMERID", "ENCRYPT_CUST_ID", "CELLID", "PACKAGEID", "CAMPAIGNID", "TREATMENTINSTID", "TREATMENTCODE", "CONTACTDATE", "CONTACTDATETIME", "CONTACTSTATUSID", "LVM_ACCT_TYPE", "UCG_FLAG", "WAVE_NO", "WAVE_NAME", "DIMENSION_TYPE", "DIM_SUB_TYPE", "DIM_LIFECYCLE_STAGE", "TRX_LIFECYCLE_STAGE", "PRMRY_RESIDE_CNTRY_CODE", "CREATIVE_LANGUAGE", "CUST_LANG_CODE", "SPARE_TEXT_01", "SPARE_TEXT_02", "SPARE_TEXT_03", "SPARE_TEXT_04", "SPARE_TEXT_05", "SPARE_NUM_01", "SPARE_NUM_02", "SPARE_NUM_03", "SPARE_NUM_04", "SPARE_NUM_05", "UPDATEDATETIME") AS  (SELECT ch.CUSTOMERID,           ch.ENCRYPT_CUST_ID,           ut.CELLID,           ut.PACKAGEID,           ut.CAMPAIGNID,           ut.TREATMENTINSTID,           ut.TREATMENTCODE,           TRUNC (ch.CONTACTDATETIME) AS CONTACTDATE,           ch.CONTACTDATETIME,           ch.CONTACTSTATUSID,           ch.LVM_ACCT_TYPE,           ch.UCG_FLAG,           ch.WAVE_NO,           ch.WAVE_NAME,           ch.DIMENSION_TYPE,           ch.DIM_SUB_TYPE,           ch.DIM_LIFECYCLE_STAGE,           ch.TRX_LIFECYCLE_STAGE,           ch.PRMRY_RESIDE_CNTRY_CODE,           ch.CREATIVE_LANGUAGE,           ch.CUST_LANG_CODE,           ch.SPARE_TEXT_01,           ch.SPARE_TEXT_02,           ch.SPARE_TEXT_03,           ch.SPARE_TEXT_04,           ch.SPARE_TEXT_05,           ch.SPARE_NUM_01,           ch.SPARE_NUM_02,           ch.SPARE_NUM_03,           ch.SPARE_NUM_04,           ch.SPARE_NUM_05,           ch.UPDATEDATETIME      FROM UA_CONTACTHISTORY ch INNER JOIN UA_TREATMENT ut              ON ch.CELLID = ut.CELLID AND ch.PACKAGEID = ut.PACKAGEID)   UNION ALL   (SELECT dch.CUSTOMERID,           dch.ENCRYPT_CUST_ID,           ut.CELLID,           ut.PACKAGEID,           ut.CAMPAIGNID,           ut.TREATMENTINSTID,           ut.TREATMENTCODE,           TRUNC (dch.CONTACTDATETIME) AS CONTACTDATE,           dch.CONTACTDATETIME,           dch.CONTACTSTATUSID,           dch.LVM_ACCT_TYPE,           dch.UCG_FLAG,           dch.WAVE_NO,           dch.WAVE_NAME,           dch.DIMENSION_TYPE,           dch.DIM_SUB_TYPE,           dch.DIM_LIFECYCLE_STAGE,           dch.TRX_LIFECYCLE_STAGE,           dch.PRMRY_RESIDE_CNTRY_CODE,           dch.CREATIVE_LANGUAGE,           dch.CUST_LANG_CODE,           dch.SPARE_TEXT_01,           dch.SPARE_TEXT_02,           dch.SPARE_TEXT_03,           dch.SPARE_TEXT_04,           dch.SPARE_TEXT_05,           dch.SPARE_NUM_01,           dch.SPARE_NUM_02,           dch.SPARE_NUM_03,           dch.SPARE_NUM_04,           dch.SPARE_NUM_05,           dch.UPDATEDATETIME      FROM UA_DTLCONTACTHIST dch INNER JOIN UA_TREATMENT ut              ON dch.TREATMENTINSTID = ut.TREATMENTINSTID)

我在执行计划里已经标记了哪里发生了谓语推入,ID 15,16, 你看出来了吗?

为什么知道这里发生了谓语推入?还记得吗?

  1. 视图没有展开,因为视图里面有union all

  2. 视图外面的过滤条件ch.contactdate = trunc(sysdate) and ch.contactstatusid in (2,3),现在推入到了视图里面的表上去过滤了。

还有你能看出来,这里的谓语推入,属于哪一种吗? 给我留言吧。

希望你也能看出来啊。

个人理解,望指正

猜你喜欢

转载自blog.csdn.net/yrg5101/article/details/88915040