关注我的微信公众号:pythonislover,领取python,大数据,SQL优化相关视频资料!~
Python大数据与SQL优化笔 QQ群:771686295
光说不练假把式,昨天说了SQL谓语推入,举得例子执行计划不超过20行,可能你还能看出来哪里发生了谓语推入,今天我发个以前网友的实际环境SQL, 执行计划300多行,你还能找到哪里发生了谓语推入吗?直接上代码,找找吧。
merge into WTRFL_CAMP_SUM wtrfl
using (
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)
) chsum
on (
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_dt
when 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", "EN
CRYPT_CUST_ID", "CELLID", "PACKAGEID", "CAMPAIGNID", "TREATMENTINSTID", "TREATME
NTCODE", "CONTACTDATE", "CONTACTDATETIME", "CONTACTSTATUSID", "LVM_ACCT_TYPE", "
UCG_FLAG", "WAVE_NO", "WAVE_NAME", "DIMENSION_TYPE", "DIM_SUB_TYPE", "DIM_LIFECY
CLE_STAGE", "TRX_LIFECYCLE_STAGE", "PRMRY_RESIDE_CNTRY_CODE", "CREATIVE_LANGUAGE
", "CUST_LANG_CODE", "SPARE_TEXT_01", "SPARE_TEXT_02", "SPARE_TEXT_03", "SPARE_T
EXT_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, 你看出来了吗?
为什么知道这里发生了谓语推入?还记得吗?
-
视图没有展开,因为视图里面有union all
-
视图外面的过滤条件ch.contactdate = trunc(sysdate) and ch.contactstatusid in (2,3),现在推入到了视图里面的表上去过滤了。
还有你能看出来,这里的谓语推入,属于哪一种吗? 给我留言吧。
希望你也能看出来啊。
个人理解,望指正