千家信息网

exist如何改写为left join

发表于:2024-10-18 作者:千家信息网编辑
千家信息网最后更新 2024年10月18日,这篇文章主要介绍了exist如何改写为left join,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。--3vm7pkp5cb69gs
千家信息网最后更新 2024年10月18日exist如何改写为left join

这篇文章主要介绍了exist如何改写为left join,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

--3vm7pkp5cb69g

select * from gv$sql where sql_id = '3vm7pkp5cb69g';
explain plan for
SELECT GS.ORG_ID,
GS.ORGANIZATION_ID,
GS.SAMPLE_ID,
GS.SAMPLE_NO,
GS.SAMPLE_DESC,
GS.LOT_NUMBER,
GS.INVENTORY_ITEM_ID,
GS.DATE_DRAWN,
MSI.SEGMENT1 ITEM_NUM,
MSI.DESCRIPTION ITEM_NAME,
P1.LAST_NAME SAMPLER_USER,
GH.MEANING HEADER_STATUS,
GR.RESULT_ID,
GR.TEST_ID,
GR.SEQ,
GQT.TEST_CODE,
GQT.TEST_DESC,
GST.MIN_VALUE_NUM,
GST.TARGET_VALUE_NUM,
GST.MAX_VALUE_NUM,
GR.RESULT_VALUE_NUM,
GR.RESULT_DATE,
P2.LAST_NAME TESTER_USER,
GL.MEANING END_RESULT,
COUNT(1) OVER(PARTITION BY GS.SAMPLE_ID) SL
FROM GMD_SAMPLES GS,
GMD_RESULTS GR,
GEM_LOOKUPS GL,
GEM_LOOKUPS GH,
GMD_SAMPLE_SPEC_DISP SSD,
GMD_EVENT_SPEC_DISP GES,
GMD_SAMPLING_EVENTS SE,
GMD_SPEC_TESTS GST,
GMD_SPECIFICATIONS GSP,
GMD_SPEC_RESULTS GSR,
GMD_QC_TESTS GQT,
MTL_SYSTEM_ITEMS_VL MSI,
(SELECT P.LAST_NAME, F.USER_ID, F.USER_NAME
FROM PER_ALL_PEOPLE_F P, FND_USER F
WHERE P.PERSON_ID = F.EMPLOYEE_ID
AND SYSDATE BETWEEN P.EFFECTIVE_START_DATE AND
NVL(P.EFFECTIVE_END_DATE, SYSDATE + 1)) P1,
(SELECT P.LAST_NAME, F.USER_ID, F.USER_NAME
FROM PER_ALL_PEOPLE_F P, FND_USER F
WHERE P.PERSON_ID = F.EMPLOYEE_ID
AND SYSDATE BETWEEN P.EFFECTIVE_START_DATE AND
NVL(P.EFFECTIVE_END_DATE, SYSDATE + 1)) P2
WHERE GR.SAMPLE_ID = GS.SAMPLE_ID
AND (GS.SAMPLE_TYPE = 'I')
AND GS.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
AND GES.SPEC_ID = GST.SPEC_ID
AND GR.TEST_ID = GST.TEST_ID
AND GR.TEST_ID = GQT.TEST_ID
AND GS.ORGANIZATION_ID = MSI.ORGANIZATION_ID
AND GS.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
AND GL.LOOKUP_TYPE = 'GMD_QC_EVALUATION'
AND GL.LOOKUP_CODE = GSR.EVALUATION_IND
AND GH.LOOKUP_CODE = SSD.DISPOSITION
AND GH.LOOKUP_TYPE = 'GMD_QC_SAMPLE_DISP'
AND GSR.RESULT_ID = GR.RESULT_ID
AND GS.SAMPLER_ID = P1.USER_ID
AND GR.TESTER_ID = P2.USER_ID
AND GES.EVENT_SPEC_DISP_ID = SSD.EVENT_SPEC_DISP_ID
AND SSD.SAMPLE_ID = GS.SAMPLE_ID
AND GES.SPEC_USED_FOR_LOT_ATTRIB_IND = 'Y'
AND SE.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
AND GST.TEST_ID = GR.TEST_ID
AND GES.SPEC_ID = GSP.SPEC_ID
AND GES.SPEC_ID = GST.SPEC_ID
AND EXISTS (SELECT 1
FROM MTL_ITEM_CATEGORIES MIC,
MTL_CATEGORY_SETS_V MCS,
MTL_CATEGORIES MC
WHERE MIC.ORGANIZATION_ID = GS.ORGANIZATION_ID
AND MIC.INVENTORY_ITEM_ID = GS.INVENTORY_ITEM_ID
AND MCS.STRUCTURE_ID = 101
AND MIC.CATEGORY_SET_ID = MCS.CATEGORY_SET_ID
AND MCS.STRUCTURE_ID = MC.STRUCTURE_ID
AND MIC.CATEGORY_ID = MC.CATEGORY_ID
AND MC.SEGMENT1 = '15')
AND GS.ORGANIZATION_ID = 1083
AND GS.DATE_DRAWN BETWEEN to_date('09/01/2017 00:00:00','MM/DD/YYYY HH24:MI:SS')
AND to_date('09/11/2017 00:00:00','MM/DD/YYYY HH24:MI:SS')
AND GS.INVENTORY_ITEM_ID = NVL(null, GS.INVENTORY_ITEM_ID)
AND GS.LOT_NUMBER = NVL(null, GS.LOT_NUMBER)
AND GS.SAMPLE_NO = NVL(null, GS.SAMPLE_NO);

select * from table(dbms_xplan.display);

select name,WAS_CAPTURED,DATATYPE_STRING,VALUE_STRING,INST_ID from
gv$sql_bind_capture where sql_id='3vm7pkp5cb69g';

Plan hash value: 4065178589

---------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 576 | 14067 (3)| 00:00:01 |
| 1 | WINDOW SORT | | 1 | 576 | 14067 (3)| 00:00:01 |
| 2 | NESTED LOOPS | | 1 | 576 | 14066 (3)| 00:00:01 |
| 3 | NESTED LOOPS | | 1 | 576 | 14066 (3)| 00:00:01 |
|* 4 | HASH JOIN | | 1 | 503 | 14063 (3)| 00:00:01 |
| 5 | JOIN FILTER CREATE | :BF0000 | 1 | 494 | 94 (2)| 00:00:01 |
| 6 | NESTED LOOPS | | 1 | 494 | 94 (2)| 00:00:01 |
| 7 | NESTED LOOPS | | 1 | 494 | 94 (2)| 00:00:01 |
| 8 | NESTED LOOPS | | 1 | 421 | 91 (2)| 00:00:01 |
| 9 | NESTED LOOPS | | 1 | 395 | 90 (2)| 00:00:01 |
| 10 | NESTED LOOPS | | 1 | 364 | 89 (2)| 00:00:01 |
| 11 | NESTED LOOPS | | 1 | 333 | 86 (2)| 00:00:01 |
| 12 | NESTED LOOPS | | 1 | 323 | 85 (2)| 00:00:01 |
| 13 | NESTED LOOPS | | 1 | 309 | 84 (2)| 00:00:01 |
| 14 | NESTED LOOPS | | 1 | 291 | 82 (2)| 00:00:01 |
| 15 | NESTED LOOPS | | 1 | 256 | 79 (2)| 00:00:01 |
| 16 | NESTED LOOPS | | 1 | 225 | 76 (2)| 00:00:01 |
| 17 | NESTED LOOPS | | 1 | 215 | 75 (2)| 00:00:01 |
| 18 | NESTED LOOPS | | 1 | 209 | 74 (2)| 00:00:01 |
| 19 | NESTED LOOPS | | 1 | 200 | 73 (2)| 00:00:01 |
| 20 | NESTED LOOPS | | 1 | 195 | 73 (2)| 00:00:01 |
| 21 | NESTED LOOPS | | 1 | 179 | 71 (2)| 00:00:01 |
| 22 | NESTED LOOPS | | 1 | 160 | 68 (2)| 00:00:01 |
| 23 | NESTED LOOPS | | 1 | 121 | 66 (2)| 00:00:01 |
| 24 | NESTED LOOPS | | 1 | 99 | 64 (2)| 00:00:01 |
| 25 | VIEW | VW_SQ_1 | 1 | 10 | 20 (0)| 00:00:01 |
| 26 | HASH UNIQUE | | 1 | 251 | | |
| 27 | NESTED LOOPS SEMI | | 1 | 251 | 20 (0)| 00:00:01 |
| 28 | NESTED LOOPS SEMI | | 1 | 226 | 20 (0)| 00:00:01 |
| 29 | NESTED LOOPS | | 1 | 200 | 20 (0)| 00:00:01 |
| 30 | MERGE JOIN CARTESIAN | | 3 | 540 | 9 (0)| 00:00:01 |
| 31 | NESTED LOOPS SEMI | | 1 | 150 | 4 (0)| 00:00:01 |
| 32 | NESTED LOOPS | | 1 | 94 | 2 (0)| 00:00:01 |
| 33 | NESTED LOOPS | | 1 | 64 | 1 (0)| 00:00:01 |
|* 34 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_U1 | 1 | 30 | 1 (0)| 00:00:01 |
|* 35 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_TL_U1 | 1 | 34 | 0 (0)| 00:00:01 |
|* 36 | TABLE ACCESS BY INDEX ROWID | MTL_CATEGORY_SETS_B | 1 | 30 | 1 (0)| 00:00:01 |
|* 37 | INDEX RANGE SCAN | MTL_CATEGORY_SETS_B_N1 | 1 | | 0 (0)| 00:00:01 |
|* 38 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | 56 | 2 (0)| 00:00:01 |
| 39 | BUFFER SORT | | 9 | 270 | 7 (0)| 00:00:01 |
|* 40 | BATCHED TABLE ACCESS BY INDEX ROWID | MTL_CATEGORIES_B | 9 | 270 | 5 (0)| 00:00:01 |
|* 41 | INDEX RANGE SCAN | MTL_CATEGORIES_B_N1 | 57 | | 1 (0)| 00:00:01 |
| 42 | TCHED TABLE ACCESS BY INDEX ROWID BA | MTL_ITEM_CATEGORIES | 1 | 20 | 7 (0)| 00:00:01 |
|* 43 | INDEX RANGE SCAN | MTL_ITEM_CATEGORIES_N3 | 19 | | 2 (0)| 00:00:01 |
|* 44 | INDEX UNIQUE SCAN | MTL_CATEGORY_SETS_TL_U1 | 17 | 442 | 0 (0)| 00:00:01 |
|* 45 | INDEX UNIQUE SCAN | MTL_CATEGORIES_TL_U1 | 2100 | 52500 | 0 (0)| 00:00:01 |
|* 46 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_SAMPLES | 1 | 89 | 43 (0)| 00:00:01 |
|* 47 | INDEX RANGE SCAN | GMD_SAMPLES_N2 | 49 | | 2 (0)| 00:00:01 |
| 48 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_B | 1 | 22 | 2 (0)| 00:00:01 |
|* 49 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_B_U1 | 1 | | 1 (0)| 00:00:01 |
| 50 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_TL | 1 | 39 | 2 (0)| 00:00:01 |
|* 51 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_TL_U1 | 1 | | 1 (0)| 00:00:01 |
|* 52 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_EVENT_SPEC_DISP | 1 | 19 | 3 (0)| 00:00:01 |
|* 53 | INDEX RANGE SCAN | GMD_EVENT_SPEC_DISP_N1 | 1 | | 2 (0)| 00:00:01 |
| 54 | TABLE ACCESS BY INDEX ROWID | GMD_SAMPLE_SPEC_DISP | 1 | 16 | 2 (0)| 00:00:01 |
|* 55 | INDEX UNIQUE SCAN | GMD_SAMPLE_SPEC_DISP_PK | 1 | | 1 (0)| 00:00:01 |
|* 56 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_B_PK | 1 | 5 | 0 (0)| 00:00:01 |
|* 57 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_TL_PK | 1 | 9 | 1 (0)| 00:00:01 |
|* 58 | INDEX UNIQUE SCAN | GMD_SAMPLING_EVENTS_PK | 1 | 6 | 1 (0)| 00:00:01 |
| 59 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 60 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 61 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 62 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
|* 63 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_RESULTS | 4 | 140 | 3 (0)| 00:00:01 |
|* 64 | INDEX RANGE SCAN | GMD_RESULTS_N1 | 5 | | 2 (0)| 00:00:01 |
| 65 | TABLE ACCESS BY INDEX ROWID | GMD_SPEC_TESTS_B | 1 | 18 | 2 (0)| 00:00:01 |
|* 66 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_B_PK | 1 | | 1 (0)| 00:00:01 |
|* 67 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_TL_PK | 1 | 14 | 1 (0)| 00:00:01 |
| 68 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 69 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 70 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 71 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
| 72 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_B | 1 | 31 | 1 (0)| 00:00:01 |
|* 73 | INDEX UNIQUE SCAN | GMD_QC_TESTS_B_PK | 1 | | 0 (0)| 00:00:01 |
| 74 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_TL | 1 | 26 | 1 (0)| 00:00:01 |
|* 75 | INDEX UNIQUE SCAN | GMD_QC_TESTS_TL_PK | 1 | | 0 (0)| 00:00:01 |
|* 76 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 2 (0)| 00:00:01 |
| 77 | TABLE ACCESS BY INDEX ROWID | FND_LOOKUP_VALUES | 1 | 73 | 3 (0)| 00:00:01 |
| 78 | JOIN FILTER USE | :BF0000 | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 79 | TABLE ACCESS STORAGE FULL | GMD_SPEC_RESULTS | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 80 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 2 (0)| 00:00:01 |
| 81 | TABLE ACCESS BY INDEX ROWID | FND_LOOKUP_VALUES | 1 | 73 | 3 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

4 - access("GSR"."RESULT_ID"="GR"."RESULT_ID")
34 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
35 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "LANGUAGE"=USERENV('LANG') AND
"ZD_EDITION_NAME"='V_20151118_1137')
36 - filter("ZD_EDITION_NAME"='V_20151118_1137')
37 - access("STRUCTURE_ID"=101)
38 - access("LOOKUP_TYPE"='ITEM_CONTROL_LEVEL_GUI' AND "VIEW_APPLICATION_ID"=700 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
filter("CONTROL_LEVEL"=TO_NUMBER("LOOKUP_CODE") AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')
40 - filter("STRUCTURE_ID"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
41 - access("SEGMENT1"='15')
43 - access("MIC"."CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "MIC"."CATEGORY_ID"="CATEGORY_ID" AND "MIC"."ORGANIZATION_ID"=1083)
44 - access("CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
45 - access("CATEGORY_ID"="CATEGORY_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
46 - filter("GS"."DATE_DRAWN">=TO_DATE(' 2017-09-01 00:00:00', 'syyyy-mm-dd hh34:mi:ss') AND "ITEM_1"="GS"."ORGANIZATION_ID" AND
"GS"."ORGANIZATION_ID"=1083 AND "GS"."SAMPLE_TYPE"='I' AND "GS"."DATE_DRAWN"<=TO_DATE(' 2017-09-11 00:00:00', 'syyyy-mm-dd
hh34:mi:ss'))
47 - access("ITEM_2"="GS"."INVENTORY_ITEM_ID")
filter("GS"."LOT_NUMBER" IS NOT NULL AND "GS"."INVENTORY_ITEM_ID" IS NOT NULL)
49 - access("GS"."INVENTORY_ITEM_ID"="INVENTORY_ITEM_ID" AND "ORGANIZATION_ID"=1083)
51 - access("INVENTORY_ITEM_ID"="T"."INVENTORY_ITEM_ID" AND "T"."ORGANIZATION_ID"=1083 AND "T"."LANGUAGE"=USERENV('LANG'))
52 - filter("GES"."SPEC_USED_FOR_LOT_ATTRIB_IND"='Y')
53 - access("GS"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID")
55 - access("GES"."EVENT_SPEC_DISP_ID"="SSD"."EVENT_SPEC_DISP_ID" AND "SSD"."SAMPLE_ID"="GS"."SAMPLE_ID")
56 - access("GES"."SPEC_ID"="B"."SPEC_ID")
57 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
58 - access("SE"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID")
60 - access("GS"."SAMPLER_ID"="F"."USER_ID")
62 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
63 - filter("GR"."TESTER_ID" IS NOT NULL)
64 - access("GR"."SAMPLE_ID"="GS"."SAMPLE_ID")
66 - access("GES"."SPEC_ID"="B"."SPEC_ID" AND "GR"."TEST_ID"="B"."TEST_ID")
67 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
69 - access("GR"."TESTER_ID"="F"."USER_ID")
71 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
73 - access("GR"."TEST_ID"="B"."TEST_ID")
75 - access("B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
76 - access("LOOKUP_TYPE"='GMD_QC_SAMPLE_DISP' AND "VIEW_APPLICATION_ID">=550 AND "LOOKUP_CODE"="SSD"."DISPOSITION" AND
"SECURITY_GROUP_ID"=0 AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LOOKUP_CODE"="SSD"."DISPOSITION" AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')
79 - storage("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."RESULT_ID"))
filter("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."RESULT_ID"))
80 - access("LOOKUP_TYPE"='GMD_QC_EVALUATION' AND "VIEW_APPLICATION_ID">=550 AND "LOOKUP_CODE"="GSR"."EVALUATION_IND" AND
"SECURITY_GROUP_ID"=0 AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LOOKUP_CODE"="GSR"."EVALUATION_IND" AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')


exsits 导致产生 笛卡尔积 改写成 left join

消除了笛卡尔积,去null


Plan hash value: 1210765236

---------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 817 | 14062 (3)| 00:00:01 |
| 1 | WINDOW SORT | | 1 | 817 | 14062 (3)| 00:00:01 |
| 2 | NESTED LOOPS | | 1 | 817 | 14061 (3)| 00:00:01 |
| 3 | NESTED LOOPS | | 1 | 761 | 14059 (3)| 00:00:01 |
| 4 | NESTED LOOPS | | 1 | 730 | 14056 (3)| 00:00:01 |
| 5 | NESTED LOOPS | | 1 | 720 | 14055 (3)| 00:00:01 |
| 6 | NESTED LOOPS | | 1 | 694 | 14054 (3)| 00:00:01 |
| 7 | NESTED LOOPS | | 1 | 663 | 14053 (3)| 00:00:01 |
|* 8 | HASH JOIN | | 1 | 628 | 14051 (3)| 00:00:01 |
| 9 | JOIN FILTER CREATE | :BF0000 | 1 | 619 | 82 (0)| 00:00:01 |
| 10 | NESTED LOOPS | | 1 | 619 | 82 (0)| 00:00:01 |
| 11 | NESTED LOOPS | | 1 | 619 | 82 (0)| 00:00:01 |
| 12 | NESTED LOOPS | | 1 | 546 | 79 (0)| 00:00:01 |
| 13 | NESTED LOOPS | | 1 | 540 | 78 (0)| 00:00:01 |
| 14 | NESTED LOOPS | | 1 | 524 | 76 (0)| 00:00:01 |
| 15 | NESTED LOOPS | | 1 | 510 | 75 (0)| 00:00:01 |
| 16 | NESTED LOOPS | | 1 | 492 | 72 (0)| 00:00:01 |
| 17 | NESTED LOOPS | | 1 | 483 | 71 (0)| 00:00:01 |
| 18 | NESTED LOOPS | | 1 | 478 | 71 (0)| 00:00:01 |
| 19 | NESTED LOOPS | | 1 | 459 | 68 (0)| 00:00:01 |
| 20 | NESTED LOOPS | | 1 | 428 | 65 (0)| 00:00:01 |
| 21 | NESTED LOOPS | | 1 | 418 | 64 (0)| 00:00:01 |
| 22 | NESTED LOOPS | | 1 | 379 | 62 (0)| 00:00:01 |
| 23 | NESTED LOOPS | | 1 | 357 | 60 (0)| 00:00:01 |
| 24 | NESTED LOOPS | | 1 | 268 | 17 (0)| 00:00:01 |
| 25 | NESTED LOOPS | | 1 | 248 | 10 (0)| 00:00:01 |
| 26 | NESTED LOOPS | | 1 | 223 | 10 (0)| 00:00:01 |
| 27 | MERGE JOIN CARTESIAN | | 1 | 197 | 10 (0)| 00:00:01 |
| 28 | MERGE JOIN CARTESIAN | | 1 | 167 | 5 (0)| 00:00:01 |
| 29 | NESTED LOOPS | | 1 | 137 | 4 (0)| 00:00:01 |
| 30 | NESTED LOOPS | | 1 | 64 | 1 (0)| 00:00:01 |
|* 31 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_U1 | 1 | 30 | 1 (0)| 00:00:01 |
|* 32 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_TL_U1 | 1 | 34 | 0 (0)| 00:00:01 |
| 33 | TABLE ACCESS BY INDEX ROWID | FND_LOOKUP_VALUES | 1 | 73 | 3 (0)| 00:00:01 |
|* 34 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 2 (0)| 00:00:01 |
| 35 | BUFFER SORT | | 1 | 30 | 2 (0)| 00:00:01 |
|* 36 | TCHED TABLE ACCESS BY INDEX ROWID BA | MTL_CATEGORY_SETS_B | 1 | 30 | 1 (0)| 00:00:01 |
|* 37 | INDEX RANGE SCAN | MTL_CATEGORY_SETS_B_N1 | 1 | | 0 (0)| 00:00:01 |
| 38 | BUFFER SORT | | 9 | 270 | 9 (0)| 00:00:01 |
|* 39 | CHED TABLE ACCESS BY INDEX ROWID BAT | MTL_CATEGORIES_B | 9 | 270 | 5 (0)| 00:00:01 |
|* 40 | INDEX RANGE SCAN | MTL_CATEGORIES_B_N1 | 57 | | 1 (0)| 00:00:01 |
|* 41 | INDEX UNIQUE SCAN | MTL_CATEGORY_SETS_TL_U1 | 1 | 26 | 0 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | MTL_CATEGORIES_TL_U1 | 1 | 25 | 0 (0)| 00:00:01 |
| 43 | TABLE ACCESS BY INDEX ROWID BATCHED | MTL_ITEM_CATEGORIES | 1 | 20 | 7 (0)| 00:00:01 |
|* 44 | INDEX RANGE SCAN | MTL_ITEM_CATEGORIES_N3 | 19 | | 2 (0)| 00:00:01 |
|* 45 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_SAMPLES | 1 | 89 | 43 (0)| 00:00:01 |
|* 46 | INDEX RANGE SCAN | GMD_SAMPLES_N2 | 49 | | 2 (0)| 00:00:01 |
| 47 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_B | 1 | 22 | 2 (0)| 00:00:01 |
|* 48 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_B_U1 | 1 | | 1 (0)| 00:00:01 |
| 49 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_TL | 1 | 39 | 2 (0)| 00:00:01 |
|* 50 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_TL_U1 | 1 | | 1 (0)| 00:00:01 |
| 51 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 52 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 53 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 54 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
|* 55 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_EVENT_SPEC_DISP | 1 | 19 | 3 (0)| 00:00:01 |
|* 56 | INDEX RANGE SCAN | GMD_EVENT_SPEC_DISP_N1 | 1 | | 2 (0)| 00:00:01 |
|* 57 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_B_PK | 1 | 5 | 0 (0)| 00:00:01 |
|* 58 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_TL_PK | 1 | 9 | 1 (0)| 00:00:01 |
| 59 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_SPEC_TESTS_B | 5 | 90 | 3 (0)| 00:00:01 |
|* 60 | INDEX RANGE SCAN | GMD_SPEC_TESTS_B_PK | 5 | | 2 (0)| 00:00:01 |
|* 61 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_TL_PK | 1 | 14 | 1 (0)| 00:00:01 |
| 62 | TABLE ACCESS BY INDEX ROWID | GMD_SAMPLE_SPEC_DISP | 1 | 16 | 2 (0)| 00:00:01 |
|* 63 | INDEX UNIQUE SCAN | GMD_SAMPLE_SPEC_DISP_PK | 1 | | 1 (0)| 00:00:01 |
|* 64 | INDEX UNIQUE SCAN | GMD_SAMPLING_EVENTS_PK | 1 | 6 | 1 (0)| 00:00:01 |
|* 65 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 2 (0)| 00:00:01 |
| 66 | TABLE ACCESS BY INDEX ROWID | FND_LOOKUP_VALUES | 1 | 73 | 3 (0)| 00:00:01 |
| 67 | JOIN FILTER USE | :BF0000 | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 68 | TABLE ACCESS STORAGE FULL | GMD_SPEC_RESULTS | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 69 | TABLE ACCESS BY INDEX ROWID | GMD_RESULTS | 1 | 35 | 2 (0)| 00:00:01 |
|* 70 | INDEX UNIQUE SCAN | GMD_RESULTS_PK | 1 | | 1 (0)| 00:00:01 |
| 71 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_B | 1 | 31 | 1 (0)| 00:00:01 |
|* 72 | INDEX UNIQUE SCAN | GMD_QC_TESTS_B_PK | 1 | | 0 (0)| 00:00:01 |
| 73 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_TL | 1 | 26 | 1 (0)| 00:00:01 |
|* 74 | INDEX UNIQUE SCAN | GMD_QC_TESTS_TL_PK | 1 | | 0 (0)| 00:00:01 |
| 75 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 76 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 77 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 78 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
|* 79 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | 56 | 2 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

8 - access("LOOKUP_CODE"="GSR"."EVALUATION_IND")
31 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
32 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "LANGUAGE"=USERENV('LANG') AND
"ZD_EDITION_NAME"='V_20151118_1137')
34 - access("LOOKUP_TYPE"='GMD_QC_EVALUATION' AND "VIEW_APPLICATION_ID">=550 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND "ZD_EDITION_NAME"='V_20151118_1137')
36 - filter("ZD_EDITION_NAME"='V_20151118_1137')
37 - access("STRUCTURE_ID"=101)
39 - filter("STRUCTURE_ID"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
40 - access("SEGMENT1"='15')
41 - access("CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
42 - access("CATEGORY_ID"="CATEGORY_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
44 - access("MIC"."CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "MIC"."CATEGORY_ID"="CATEGORY_ID" AND "MIC"."ORGANIZATION_ID"=1083)
45 - filter("GS"."ORGANIZATION_ID"=1083 AND "GS"."DATE_DRAWN">=TO_DATE(' 2017-01-01 00:00:00', 'syyyy-mm-dd hh34:mi:ss') AND
"GS"."SAMPLE_TYPE"='I' AND "GS"."DATE_DRAWN"<=TO_DATE(' 2017-09-11 00:00:00', 'syyyy-mm-dd hh34:mi:ss'))
46 - access("MIC"."INVENTORY_ITEM_ID"="GS"."INVENTORY_ITEM_ID")
filter("GS"."LOT_NUMBER" IS NOT NULL AND "GS"."INVENTORY_ITEM_ID" IS NOT NULL)
48 - access("GS"."INVENTORY_ITEM_ID"="INVENTORY_ITEM_ID" AND "ORGANIZATION_ID"=1083)
50 - access("INVENTORY_ITEM_ID"="T"."INVENTORY_ITEM_ID" AND "T"."ORGANIZATION_ID"=1083 AND "T"."LANGUAGE"=USERENV('LANG'))
52 - access("GS"."SAMPLER_ID"="F"."USER_ID")
54 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
55 - filter("GES"."SPEC_USED_FOR_LOT_ATTRIB_IND"='Y')
56 - access("GS"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID")
57 - access("GES"."SPEC_ID"="B"."SPEC_ID")
58 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
60 - access("GES"."SPEC_ID"="B"."SPEC_ID")
61 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
63 - access("GES"."EVENT_SPEC_DISP_ID"="SSD"."EVENT_SPEC_DISP_ID" AND "SSD"."SAMPLE_ID"="GS"."SAMPLE_ID")
64 - access("SE"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID")
65 - access("LOOKUP_TYPE"='GMD_QC_SAMPLE_DISP' AND "VIEW_APPLICATION_ID">=550 AND "LOOKUP_CODE"="SSD"."DISPOSITION" AND
"SECURITY_GROUP_ID"=0 AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LOOKUP_CODE"="SSD"."DISPOSITION" AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')
68 - storage("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."EVALUATION_IND"))
filter("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."EVALUATION_IND"))
69 - filter("GR"."SAMPLE_ID"="GS"."SAMPLE_ID" AND "GR"."TEST_ID"="B"."TEST_ID" AND "GR"."TESTER_ID" IS NOT NULL)
70 - access("GSR"."RESULT_ID"="GR"."RESULT_ID")
72 - access("GR"."TEST_ID"="B"."TEST_ID")
74 - access("B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
76 - access("GR"."TESTER_ID"="F"."USER_ID")
78 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
79 - access("LOOKUP_TYPE"='ITEM_CONTROL_LEVEL_GUI' AND "VIEW_APPLICATION_ID"=700 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
filter("CONTROL_LEVEL"=TO_NUMBER("LOOKUP_CODE") AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')


exsits 改写成 left join

消除了谓词推入和笛卡尔积,不去null


Plan hash value: 655267779

---------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 570 | 18359 (3)| 00:00:01 |
| 1 | WINDOW SORT | | 1 | 570 | 18359 (3)| 00:00:01 |
| 2 | NESTED LOOPS | | 1 | 570 | 18358 (3)| 00:00:01 |
| 3 | NESTED LOOPS | | 1 | 570 | 18358 (3)| 00:00:01 |
| 4 | NESTED LOOPS | | 1 | 544 | 18357 (3)| 00:00:01 |
| 5 | NESTED LOOPS | | 1 | 513 | 18356 (3)| 00:00:01 |
| 6 | NESTED LOOPS | | 1 | 482 | 18353 (3)| 00:00:01 |
| 7 | NESTED LOOPS | | 1 | 472 | 18352 (3)| 00:00:01 |
| 8 | NESTED LOOPS | | 1 | 458 | 18351 (3)| 00:00:01 |
| 9 | NESTED LOOPS | | 1 | 440 | 18349 (3)| 00:00:01 |
|* 10 | HASH JOIN | | 1 | 367 | 18346 (3)| 00:00:01 |
| 11 | JOIN FILTER CREATE | :BF0000 | 1 | 358 | 4376 (2)| 00:00:01 |
| 12 | NESTED LOOPS | | 1 | 358 | 4376 (2)| 00:00:01 |
| 13 | NESTED LOOPS | | 5 | 358 | 4376 (2)| 00:00:01 |
| 14 | NESTED LOOPS OUTER | | 1 | 323 | 4373 (2)| 00:00:01 |
| 15 | NESTED LOOPS | | 1 | 319 | 4366 (2)| 00:00:01 |
| 16 | NESTED LOOPS | | 1 | 288 | 4363 (2)| 00:00:01 |
| 17 | NESTED LOOPS | | 1 | 278 | 4362 (2)| 00:00:01 |
| 18 | NESTED LOOPS | | 1 | 272 | 4361 (2)| 00:00:01 |
| 19 | NESTED LOOPS | | 1 | 263 | 4360 (2)| 00:00:01 |
| 20 | NESTED LOOPS | | 1 | 258 | 4360 (2)| 00:00:01 |
| 21 | NESTED LOOPS | | 1 | 219 | 4358 (2)| 00:00:01 |
| 22 | NESTED LOOPS | | 1 | 197 | 4356 (2)| 00:00:01 |
|* 23 | HASH JOIN | | 9 | 1602 | 4338 (2)| 00:00:01 |
| 24 | TABLE ACCESS BY INDEX ROWID BATCHED | FND_LOOKUP_VALUES | 1 | 73 | 4 (0)| 00:00:01 |
|* 25 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 3 (0)| 00:00:01 |
|* 26 | HASH JOIN | | 1461 | 149K| 4334 (2)| 00:00:01 |
| 27 | JOIN FILTER CREATE | :BF0001 | 1461 | 126K| 1989 (1)| 00:00:01 |
|* 28 | TABLE ACCESS BY INDEX ROWID BATCHED| GMD_SAMPLES | 1461 | 126K| 1989 (1)| 00:00:01 |
|* 29 | INDEX RANGE SCAN | GMD_SAMPLES_U1 | 3947 | | 21 (0)| 00:00:01 |
| 30 | JOIN FILTER USE | :BF0001 | 1105K| 16M| 2332 (3)| 00:00:01 |
|* 31 | TABLE ACCESS STORAGE FULL | GMD_SAMPLE_SPEC_DISP | 1105K| 16M| 2332 (3)| 00:00:01 |
|* 32 | TABLE ACCESS BY INDEX ROWID | GMD_EVENT_SPEC_DISP | 1 | 19 | 2 (0)| 00:00:01 |
|* 33 | INDEX UNIQUE SCAN | GMD_EVENT_SPEC_DISP_PK | 1 | | 1 (0)| 00:00:01 |
| 34 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_B | 1 | 22 | 2 (0)| 00:00:01 |
|* 35 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_B_U1 | 1 | | 1 (0)| 00:00:01 |
| 36 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_TL | 1 | 39 | 2 (0)| 00:00:01 |
|* 37 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_TL_U1 | 1 | | 1 (0)| 00:00:01 |
|* 38 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_B_PK | 1 | 5 | 0 (0)| 00:00:01 |
|* 39 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_TL_PK | 1 | 9 | 1 (0)| 00:00:01 |
|* 40 | INDEX UNIQUE SCAN | GMD_SAMPLING_EVENTS_PK | 1 | 6 | 1 (0)| 00:00:01 |
| 41 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 43 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 44 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
| 45 | VIEW PUSHED PREDICATE | | 1 | 4 | 7 (0)| 00:00:01 |
|* 46 | FILTER | | | | | |
| 47 | NESTED LOOPS | | 1 | 251 | 7 (0)| 00:00:01 |
| 48 | NESTED LOOPS | | 1 | 195 | 5 (0)| 00:00:01 |
| 49 | NESTED LOOPS | | 1 | 170 | 5 (0)| 00:00:01 |
| 50 | NESTED LOOPS | | 1 | 140 | 4 (0)| 00:00:01 |
| 51 | NESTED LOOPS | | 1 | 114 | 4 (0)| 00:00:01 |
| 52 | NESTED LOOPS | | 1 | 84 | 3 (0)| 00:00:01 |
| 53 | NESTED LOOPS | | 1 | 64 | 1 (0)| 00:00:01 |
|* 54 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_U1 | 1 | 30 | 1 (0)| 00:00:01 |
|* 55 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_TL_U1 | 1 | 34 | 0 (0)| 00:00:01 |
|* 56 | INDEX RANGE SCAN | MTL_ITEM_CATEGORIES_U1 | 1 | 20 | 2 (0)| 00:00:01 |
|* 57 | TABLE ACCESS BY INDEX ROWID | MTL_CATEGORY_SETS_B | 1 | 30 | 1 (0)| 00:00:01 |
|* 58 | INDEX UNIQUE SCAN | MTL_CATEGORY_SETS_B_U1 | 1 | | 0 (0)| 00:00:01 |
|* 59 | INDEX UNIQUE SCAN | MTL_CATEGORY_SETS_TL_U1 | 1 | 26 | 0 (0)| 00:00:01 |
|* 60 | TABLE ACCESS BY INDEX ROWID | MTL_CATEGORIES_B | 1 | 30 | 1 (0)| 00:00:01 |
|* 61 | INDEX UNIQUE SCAN | MTL_CATEGORIES_B_U1 | 1 | | 0 (0)| 00:00:01 |
|* 62 | INDEX UNIQUE SCAN | MTL_CATEGORIES_TL_U1 | 1 | 25 | 0 (0)| 00:00:01 |
|* 63 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | 56 | 2 (0)| 00:00:01 |
|* 64 | INDEX RANGE SCAN | GMD_RESULTS_N1 | 5 | | 2 (0)| 00:00:01 |
|* 65 | TABLE ACCESS BY INDEX ROWID | GMD_RESULTS | 4 | 140 | 3 (0)| 00:00:01 |
| 66 | JOIN FILTER USE | :BF0000 | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 67 | TABLE ACCESS STORAGE FULL | GMD_SPEC_RESULTS | 4965K| 42M| 13909 (2)| 00:00:01 |
| 68 | TABLE ACCESS BY INDEX ROWID BATCHED | FND_LOOKUP_VALUES | 1 | 73 | 3 (0)| 00:00:01 |
|* 69 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 2 (0)| 00:00:01 |
| 70 | TABLE ACCESS BY INDEX ROWID | GMD_SPEC_TESTS_B | 1 | 18 | 2 (0)| 00:00:01 |
|* 71 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_B_PK | 1 | | 1 (0)| 00:00:01 |
|* 72 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_TL_PK | 1 | 14 | 1 (0)| 00:00:01 |
| 73 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 74 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 75 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 76 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
| 77 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_B | 1 | 31 | 1 (0)| 00:00:01 |
|* 78 | INDEX UNIQUE SCAN | GMD_QC_TESTS_B_PK | 1 | | 0 (0)| 00:00:01 |
|* 79 | INDEX UNIQUE SCAN | GMD_QC_TESTS_TL_PK | 1 | | 0 (0)| 00:00:01 |
| 80 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_TL | 1 | 26 | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

10 - access("GSR"."RESULT_ID"="GR"."RESULT_ID")
23 - access("LOOKUP_CODE"="SSD"."DISPOSITION")
25 - access("LOOKUP_TYPE"='GMD_QC_SAMPLE_DISP' AND "VIEW_APPLICATION_ID">=550 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND "ZD_EDITION_NAME"='V_20151118_1137')
26 - access("SSD"."SAMPLE_ID"="GS"."SAMPLE_ID")
28 - filter("GS"."DATE_DRAWN">=TO_DATE(' 2017-01-01 00:00:00', 'syyyy-mm-dd hh34:mi:ss') AND "GS"."LOT_NUMBER" IS NOT NULL AND
"GS"."INVENTORY_ITEM_ID" IS NOT NULL AND "GS"."SAMPLE_TYPE"='I' AND "GS"."DATE_DRAWN"<=TO_DATE(' 2017-09-11 00:00:00', 'syyyy-mm-dd
hh34:mi:ss'))
29 - access("GS"."ORGANIZATION_ID"=1083)
31 - storage(SYS_OP_BLOOM_FILTER(:BF0001,"SSD"."SAMPLE_ID"))
filter(SYS_OP_BLOOM_FILTER(:BF0001,"SSD"."SAMPLE_ID"))
32 - filter("GS"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID" AND "GES"."SPEC_USED_FOR_LOT_ATTRIB_IND"='Y')
33 - access("GES"."EVENT_SPEC_DISP_ID"="SSD"."EVENT_SPEC_DISP_ID")
35 - access("GS"."INVENTORY_ITEM_ID"="INVENTORY_ITEM_ID" AND "ORGANIZATION_ID"=1083)
37 - access("INVENTORY_ITEM_ID"="T"."INVENTORY_ITEM_ID" AND "T"."ORGANIZATION_ID"=1083 AND "T"."LANGUAGE"=USERENV('LANG'))
38 - access("GES"."SPEC_ID"="B"."SPEC_ID")
39 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
40 - access("SE"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID")
42 - access("GS"."SAMPLER_ID"="F"."USER_ID")
44 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
46 - filter("GS"."ORGANIZATION_ID"=1083)
54 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
55 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "LANGUAGE"=USERENV('LANG') AND
"ZD_EDITION_NAME"='V_20151118_1137')
56 - access("MIC"."ORGANIZATION_ID"=1083 AND "MIC"."INVENTORY_ITEM_ID"="GS"."INVENTORY_ITEM_ID")
57 - filter("STRUCTURE_ID"=101)
58 - access("MIC"."CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "ZD_EDITION_NAME"='V_20151118_1137')
59 - access("CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
60 - filter("SEGMENT1"='15' AND "STRUCTURE_ID"=101)
61 - access("MIC"."CATEGORY_ID"="CATEGORY_ID" AND "ZD_EDITION_NAME"='V_20151118_1137')
62 - access("CATEGORY_ID"="CATEGORY_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
63 - access("LOOKUP_TYPE"='ITEM_CONTROL_LEVEL_GUI' AND "VIEW_APPLICATION_ID"=700 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
filter("CONTROL_LEVEL"=TO_NUMBER("LOOKUP_CODE") AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')
64 - access("GR"."SAMPLE_ID"="GS"."SAMPLE_ID")
65 - filter("GR"."TESTER_ID" IS NOT NULL)
67 - storage("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."RESULT_ID"))
filter("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."RESULT_ID"))
69 - access("LOOKUP_TYPE"='GMD_QC_EVALUATION' AND "VIEW_APPLICATION_ID">=550 AND "LOOKUP_CODE"="GSR"."EVALUATION_IND" AND
"SECURITY_GROUP_ID"=0 AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LOOKUP_CODE"="GSR"."EVALUATION_IND" AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')
71 - access("GES"."SPEC_ID"="B"."SPEC_ID" AND "GR"."TEST_ID"="B"."TEST_ID")
72 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
74 - access("GR"."TESTER_ID"="F"."USER_ID")
76 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
78 - access("GR"."TEST_ID"="B"."TEST_ID")
79 - access("B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))


--left join 之后 有 null,为了去掉null 保证数据一致性,写了外部查询再过滤一次
sql


select * from gv$sql where sql_id = '3vm7pkp5cb69g';

explain plan for
with t_view as (SELECT MIC.ORGANIZATION_ID,MIC.INVENTORY_ITEM_ID
FROM MTL_ITEM_CATEGORIES MIC,
MTL_CATEGORY_SETS_V MCS,
MTL_CATEGORIES MC
WHERE 1=1
AND MCS.STRUCTURE_ID = 101
AND MIC.CATEGORY_SET_ID = MCS.CATEGORY_SET_ID
AND MCS.STRUCTURE_ID = MC.STRUCTURE_ID
AND MIC.CATEGORY_ID = MC.CATEGORY_ID
AND MC.SEGMENT1 = '15')
select t1.* from (
SELECT t.ORGANIZATION_ID ORGANIZATION_ID_1,
t.INVENTORY_ITEM_ID INVENTORY_ITEM_ID_1 ,
GS.ORG_ID,
GS.ORGANIZATION_ID,
GS.SAMPLE_ID,
GS.SAMPLE_NO,
GS.SAMPLE_DESC,
GS.LOT_NUMBER,
GS.INVENTORY_ITEM_ID,
GS.DATE_DRAWN,
MSI.SEGMENT1 ITEM_NUM,
MSI.DESCRIPTION ITEM_NAME,
P1.LAST_NAME SAMPLER_USER,
GH.MEANING HEADER_STATUS,
GR.RESULT_ID,
GR.TEST_ID,
GR.SEQ,
GQT.TEST_CODE,
GQT.TEST_DESC,
GST.MIN_VALUE_NUM,
GST.TARGET_VALUE_NUM,
GST.MAX_VALUE_NUM,
GR.RESULT_VALUE_NUM,
GR.RESULT_DATE,
P2.LAST_NAME TESTER_USER,
GL.MEANING END_RESULT,
COUNT(1) OVER(PARTITION BY GS.SAMPLE_ID) SL
FROM (GMD_SAMPLES GS left join t_view t on t.ORGANIZATION_ID = GS.ORGANIZATION_ID
AND t.INVENTORY_ITEM_ID =GS.INVENTORY_ITEM_ID --and t.ORGANIZATION_ID is not null
-- and t.INVENTORY_ITEM_ID is not null
),
GMD_RESULTS GR,
GEM_LOOKUPS GL,
GEM_LOOKUPS GH,
GMD_SAMPLE_SPEC_DISP SSD,
GMD_EVENT_SPEC_DISP GES,
GMD_SAMPLING_EVENTS SE,
GMD_SPEC_TESTS GST,
GMD_SPECIFICATIONS GSP,
GMD_SPEC_RESULTS GSR,
GMD_QC_TESTS GQT,
MTL_SYSTEM_ITEMS_VL MSI,
(SELECT P.LAST_NAME, F.USER_ID, F.USER_NAME
FROM PER_ALL_PEOPLE_F P, FND_USER F
WHERE P.PERSON_ID = F.EMPLOYEE_ID
AND SYSDATE BETWEEN P.EFFECTIVE_START_DATE AND
NVL(P.EFFECTIVE_END_DATE, SYSDATE + 1)) P1,
(SELECT P.LAST_NAME, F.USER_ID, F.USER_NAME
FROM PER_ALL_PEOPLE_F P, FND_USER F
WHERE P.PERSON_ID = F.EMPLOYEE_ID
AND SYSDATE BETWEEN P.EFFECTIVE_START_DATE AND
NVL(P.EFFECTIVE_END_DATE, SYSDATE + 1)) P2
WHERE GR.SAMPLE_ID = GS.SAMPLE_ID
--and t.ORGANIZATION_ID is not null
--and t.INVENTORY_ITEM_ID is not null
AND (GS.SAMPLE_TYPE = 'I')
AND GS.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
AND GES.SPEC_ID = GST.SPEC_ID
AND GR.TEST_ID = GST.TEST_ID
AND GR.TEST_ID = GQT.TEST_ID
AND GS.ORGANIZATION_ID = MSI.ORGANIZATION_ID
AND GS.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
AND GL.LOOKUP_TYPE = 'GMD_QC_EVALUATION'
AND GL.LOOKUP_CODE = GSR.EVALUATION_IND
AND GH.LOOKUP_CODE = SSD.DISPOSITION
AND GH.LOOKUP_TYPE = 'GMD_QC_SAMPLE_DISP'
AND GSR.RESULT_ID = GR.RESULT_ID
AND GS.SAMPLER_ID = P1.USER_ID
AND GR.TESTER_ID = P2.USER_ID
AND GES.EVENT_SPEC_DISP_ID = SSD.EVENT_SPEC_DISP_ID
AND SSD.SAMPLE_ID = GS.SAMPLE_ID
AND GES.SPEC_USED_FOR_LOT_ATTRIB_IND = 'Y'
AND SE.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
AND GST.TEST_ID = GR.TEST_ID
AND GES.SPEC_ID = GSP.SPEC_ID
AND GES.SPEC_ID = GST.SPEC_ID
/*AND EXISTS (SELECT 1
FROM MTL_ITEM_CATEGORIES MIC,
MTL_CATEGORY_SETS_V MCS,
MTL_CATEGORIES MC
WHERE MIC.ORGANIZATION_ID = GS.ORGANIZATION_ID
AND MIC.INVENTORY_ITEM_ID = GS.INVENTORY_ITEM_ID
AND MCS.STRUCTURE_ID = 101
AND MIC.CATEGORY_SET_ID = MCS.CATEGORY_SET_ID
AND MCS.STRUCTURE_ID = MC.STRUCTURE_ID
AND MIC.CATEGORY_ID = MC.CATEGORY_ID
AND MC.SEGMENT1 = '15')*/
AND GS.ORGANIZATION_ID = 1083
AND GS.DATE_DRAWN BETWEEN to_date('01/01/2017 00:00:00','MM/DD/YYYY HH24:MI:SS')
AND to_date('09/11/2017 00:00:00','MM/DD/YYYY HH24:MI:SS')
AND GS.INVENTORY_ITEM_ID = NVL(null, GS.INVENTORY_ITEM_ID)
AND GS.LOT_NUMBER = NVL(null, GS.LOT_NUMBER)
AND GS.SAMPLE_NO = NVL(null, GS.SAMPLE_NO)) t1
where t1.ORGANIZATION_ID_1 is not null
and t1.INVENTORY_ITEM_ID_1 is not null;


Plan hash value: 1361232557

---------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 872 | 16692 (2)| 00:00:01 |
|* 1 | VIEW | | 1 | 872 | 16692 (2)| 00:00:01 |
| 2 | WINDOW SORT | | 1 | 576 | 16692 (2)| 00:00:01 |
| 3 | NESTED LOOPS | | 1 | 576 | 16691 (2)| 00:00:01 |
| 4 | NESTED LOOPS | | 1 | 576 | 16691 (2)| 00:00:01 |
|* 5 | HASH JOIN | | 1 | 503 | 16688 (2)| 00:00:01 |
| 6 | JOIN FILTER CREATE | :BF0000 | 1 | 494 | 2719 (1)| 00:00:01 |
| 7 | NESTED LOOPS | | 1 | 494 | 2719 (1)| 00:00:01 |
|* 8 | HASH JOIN OUTER | | 1 | 480 | 2718 (1)| 00:00:01 |
| 9 | NESTED LOOPS | | 1 | 470 | 2698 (1)| 00:00:01 |
| 10 | NESTED LOOPS | | 1 | 470 | 2698 (1)| 00:00:01 |
| 11 | NESTED LOOPS | | 1 | 444 | 2697 (1)| 00:00:01 |
| 12 | NESTED LOOPS | | 1 | 413 | 2696 (1)| 00:00:01 |
| 13 | NESTED LOOPS | | 1 | 382 | 2693 (1)| 00:00:01 |
| 14 | NESTED LOOPS | | 1 | 351 | 2690 (1)| 00:00:01 |
| 15 | NESTED LOOPS | | 1 | 341 | 2689 (1)| 00:00:01 |
| 16 | NESTED LOOPS | | 1 | 323 | 2687 (1)| 00:00:01 |
| 17 | NESTED LOOPS | | 1 | 288 | 2684 (1)| 00:00:01 |
| 18 | NESTED LOOPS | | 1 | 279 | 2683 (1)| 00:00:01 |
| 19 | NESTED LOOPS | | 1 | 269 | 2682 (1)| 00:00:01 |
| 20 | NESTED LOOPS | | 1 | 263 | 2681 (1)| 00:00:01 |
| 21 | NESTED LOOPS | | 1 | 258 | 2681 (1)| 00:00:01 |
|* 22 | HASH JOIN | | 1 | 239 | 2679 (1)| 00:00:01 |
| 23 | TABLE ACCESS BY INDEX ROWID BATCHED | FND_LOOKUP_VALUES | 1 | 73 | 4 (0)| 00:00:01 |
|* 24 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 3 (0)| 00:00:01 |
| 25 | NESTED LOOPS | | 76 | 12616 | 2675 (1)| 00:00:01 |
| 26 | NESTED LOOPS | | 76 | 12616 | 2675 (1)| 00:00:01 |
| 27 | NESTED LOOPS | | 76 | 11400 | 2447 (1)| 00:00:01 |
|* 28 | HASH JOIN | | 76 | 8436 | 2295 (1)| 00:00:01 |
| 29 | ED TABLE ACCESS BY INDEX ROWID BATCH | MTL_SYSTEM_ITEMS_B | 1163 | 25586 | 306 (1)| 00:00:01 |
|* 30 | INDEX SKIP SCAN | MTL_SYSTEM_ITEMS_B_N8 | 1163 | | 6 (0)| 00:00:01 |
|* 31 | ED TABLE ACCESS BY INDEX ROWID BATCH | GMD_SAMPLES | 1461 | 126K| 1989 (1)| 00:00:01 |
|* 32 | INDEX RANGE SCAN | GMD_SAMPLES_U1 | 3947 | | 21 (0)| 00:00:01 |
| 33 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_TL | 1 | 39 | 2 (0)| 00:00:01 |
|* 34 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_TL_U1 | 1 | | 1 (0)| 00:00:01 |
|* 35 | INDEX RANGE SCAN | GMD_SAMPLE_SPEC_DISP_N1 | 1 | | 2 (0)| 00:00:01 |
| 36 | TABLE ACCESS BY INDEX ROWID | GMD_SAMPLE_SPEC_DISP | 1 | 16 | 3 (0)| 00:00:01 |
|* 37 | TABLE ACCESS BY INDEX ROWID | GMD_EVENT_SPEC_DISP | 1 | 19 | 2 (0)| 00:00:01 |
|* 38 | INDEX UNIQUE SCAN | GMD_EVENT_SPEC_DISP_PK | 1 | | 1 (0)| 00:00:01 |
|* 39 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_B_PK | 1 | 5 | 0 (0)| 00:00:01 |
|* 40 | INDEX UNIQUE SCAN | GMD_SAMPLING_EVENTS_PK | 1 | 6 | 1 (0)| 00:00:01 |
| 41 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
|* 43 | INDEX UNIQUE SCAN | GMD_SPECIFICATIONS_TL_PK | 1 | 9 | 1 (0)| 00:00:01 |
|* 44 | TABLE ACCESS BY INDEX ROWID BATCHED | GMD_RESULTS | 4 | 140 | 3 (0)| 00:00:01 |
|* 45 | INDEX RANGE SCAN | GMD_RESULTS_N1 | 5 | | 2 (0)| 00:00:01 |
| 46 | TABLE ACCESS BY INDEX ROWID | GMD_SPEC_TESTS_B | 1 | 18 | 2 (0)| 00:00:01 |
|* 47 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_B_PK | 1 | | 1 (0)| 00:00:01 |
| 48 | TABLE ACCESS BY INDEX ROWID | FND_USER | 1 | 10 | 1 (0)| 00:00:01 |
|* 49 | INDEX UNIQUE SCAN | FND_USER_U1 | 1 | | 0 (0)| 00:00:01 |
| 50 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 51 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
| 52 | TABLE ACCESS BY INDEX ROWID BATCHED | PER_ALL_PEOPLE_F | 1 | 31 | 3 (0)| 00:00:01 |
|* 53 | INDEX RANGE SCAN | PER_PEOPLE_F_PK | 1 | | 2 (0)| 00:00:01 |
| 54 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_B | 1 | 31 | 1 (0)| 00:00:01 |
|* 55 | INDEX UNIQUE SCAN | GMD_QC_TESTS_B_PK | 1 | | 0 (0)| 00:00:01 |
|* 56 | INDEX UNIQUE SCAN | GMD_QC_TESTS_TL_PK | 1 | | 0 (0)| 00:00:01 |
| 57 | TABLE ACCESS BY INDEX ROWID | GMD_QC_TESTS_TL | 1 | 26 | 1 (0)| 00:00:01 |
| 58 | VIEW | | 1 | 10 | 20 (0)| 00:00:01 |
| 59 | NESTED LOOPS | | 1 | 251 | 20 (0)| 00:00:01 |
| 60 | NESTED LOOPS | | 1 | 226 | 20 (0)| 00:00:01 |
| 61 | NESTED LOOPS | | 1 | 200 | 20 (0)| 00:00:01 |
| 62 | MERGE JOIN CARTESIAN | | 3 | 540 | 9 (0)| 00:00:01 |
| 63 | NESTED LOOPS | | 1 | 150 | 4 (0)| 00:00:01 |
| 64 | NESTED LOOPS | | 1 | 150 | 4 (0)| 00:00:01 |
| 65 | NESTED LOOPS | | 1 | 120 | 3 (0)| 00:00:01 |
| 66 | NESTED LOOPS | | 1 | 64 | 1 (0)| 00:00:01 |
|* 67 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_U1 | 1 | 30 | 1 (0)| 00:00:01 |
|* 68 | INDEX UNIQUE SCAN | FND_ID_FLEX_STRUCTURES_TL_U1 | 1 | 34 | 0 (0)| 00:00:01 |
|* 69 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | 56 | 2 (0)| 00:00:01 |
|* 70 | INDEX RANGE SCAN | MTL_CATEGORY_SETS_B_N1 | 1 | | 0 (0)| 00:00:01 |
|* 71 | TABLE ACCESS BY INDEX ROWID | MTL_CATEGORY_SETS_B | 1 | 30 | 1 (0)| 00:00:01 |
| 72 | BUFFER SORT | | 9 | 270 | 8 (0)| 00:00:01 |
|* 73 | TABLE ACCESS BY INDEX ROWID BATCHED | MTL_CATEGORIES_B | 9 | 270 | 5 (0)| 00:00:01 |
|* 74 | INDEX RANGE SCAN | MTL_CATEGORIES_B_N1 | 57 | | 1 (0)| 00:00:01 |
| 75 | TABLE ACCESS BY INDEX ROWID BATCHED | MTL_ITEM_CATEGORIES | 1 | 20 | 7 (0)| 00:00:01 |
|* 76 | INDEX RANGE SCAN | MTL_ITEM_CATEGORIES_N3 | 19 | | 2 (0)| 00:00:01 |
|* 77 | INDEX UNIQUE SCAN | MTL_CATEGORY_SETS_TL_U1 | 1 | 26 | 0 (0)| 00:00:01 |
|* 78 | INDEX UNIQUE SCAN | MTL_CATEGORIES_TL_U1 | 1 | 25 | 0 (0)| 00:00:01 |
|* 79 | INDEX UNIQUE SCAN | GMD_SPEC_TESTS_TL_PK | 1 | 14 | 1 (0)| 00:00:01 |
| 80 | JOIN FILTER USE | :BF0000 | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 81 | TABLE ACCESS STORAGE FULL | GMD_SPEC_RESULTS | 4965K| 42M| 13909 (2)| 00:00:01 |
|* 82 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 1 | | 2 (0)| 00:00:01 |
| 83 | TABLE ACCESS BY INDEX ROWID | FND_LOOKUP_VALUES | 1 | 73 | 3 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1 - filter("T1"."ORGANIZATION_ID_1" IS NOT NULL AND "T1"."INVENTORY_ITEM_ID_1" IS NOT NULL)
5 - access("GSR"."RESULT_ID"="GR"."RESULT_ID")
8 - access("T"."ORGANIZATION_ID"(+)="GS"."ORGANIZATION_ID" AND "T"."INVENTORY_ITEM_ID"(+)="GS"."INVENTORY_ITEM_ID")
22 - access("LOOKUP_CODE"="SSD"."DISPOSITION")
24 - access("LOOKUP_TYPE"='GMD_QC_SAMPLE_DISP' AND "VIEW_APPLICATION_ID">=550 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND "ZD_EDITION_NAME"='V_20151118_1137')
28 - access("GS"."ORGANIZATION_ID"="ORGANIZATION_ID" AND "GS"."INVENTORY_ITEM_ID"="INVENTORY_ITEM_ID")
30 - access("ORGANIZATION_ID"=1083)
filter("ORGANIZATION_ID"=1083)
31 - filter("GS"."DATE_DRAWN">=TO_DATE(' 2017-01-01 00:00:00', 'syyyy-mm-dd hh34:mi:ss') AND "GS"."LOT_NUMBER" IS NOT NULL AND
"GS"."INVENTORY_ITEM_ID" IS NOT NULL AND "GS"."SAMPLE_TYPE"='I' AND "GS"."DATE_DRAWN"<=TO_DATE(' 2017-09-11 00:00:00', 'syyyy-mm-dd
hh34:mi:ss'))
32 - access("GS"."ORGANIZATION_ID"=1083)
34 - access("INVENTORY_ITEM_ID"="T"."INVENTORY_ITEM_ID" AND "T"."ORGANIZATION_ID"=1083 AND "T"."LANGUAGE"=USERENV('LANG'))
35 - access("SSD"."SAMPLE_ID"="GS"."SAMPLE_ID")
37 - filter("GS"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID" AND "GES"."SPEC_USED_FOR_LOT_ATTRIB_IND"='Y')
38 - access("GES"."EVENT_SPEC_DISP_ID"="SSD"."EVENT_SPEC_DISP_ID")
39 - access("GES"."SPEC_ID"="B"."SPEC_ID")
40 - access("SE"."SAMPLING_EVENT_ID"="GES"."SAMPLING_EVENT_ID")
42 - access("GS"."SAMPLER_ID"="F"."USER_ID")
43 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
44 - filter("GR"."TESTER_ID" IS NOT NULL)
45 - access("GR"."SAMPLE_ID"="GS"."SAMPLE_ID")
47 - access("GES"."SPEC_ID"="B"."SPEC_ID" AND "GR"."TEST_ID"="B"."TEST_ID")
49 - access("GR"."TESTER_ID"="F"."USER_ID")
51 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
53 - access("P"."PERSON_ID"="F"."EMPLOYEE_ID" AND "P"."EFFECTIVE_END_DATE">=SYSDATE@! AND "P"."EFFECTIVE_START_DATE"<=SYSDATE@!)
filter("P"."EFFECTIVE_END_DATE">=SYSDATE@!)
55 - access("GR"."TEST_ID"="B"."TEST_ID")
56 - access("B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
67 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
68 - access("APPLICATION_ID"=401 AND "ID_FLEX_CODE"='MCAT' AND "ID_FLEX_NUM"=101 AND "LANGUAGE"=USERENV('LANG') AND
"ZD_EDITION_NAME"='V_20151118_1137')
69 - access("LOOKUP_TYPE"='ITEM_CONTROL_LEVEL_GUI' AND "VIEW_APPLICATION_ID"=700 AND "SECURITY_GROUP_ID"=0 AND
"LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND "ZD_EDITION_NAME"='V_20151118_1137')
70 - access("STRUCTURE_ID"=101)
71 - filter("CONTROL_LEVEL"=TO_NUMBER("LOOKUP_CODE") AND "ZD_EDITION_NAME"='V_20151118_1137')
73 - filter("STRUCTURE_ID"=101 AND "ZD_EDITION_NAME"='V_20151118_1137')
74 - access("SEGMENT1"='15')
76 - access("MIC"."CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "MIC"."CATEGORY_ID"="CATEGORY_ID" AND "MIC"."ORGANIZATION_ID"=1083)
77 - access("CATEGORY_SET_ID"="CATEGORY_SET_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
78 - access("CATEGORY_ID"="CATEGORY_ID" AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137')
79 - access("B"."SPEC_ID"="T"."SPEC_ID" AND "B"."TEST_ID"="T"."TEST_ID" AND "T"."LANGUAGE"=USERENV('LANG'))
81 - storage("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."RESULT_ID"))
filter("GSR"."EVALUATION_IND" IS NOT NULL AND SYS_OP_BLOOM_FILTER(:BF0000,"GSR"."RESULT_ID"))
82 - access("LOOKUP_TYPE"='GMD_QC_EVALUATION' AND "VIEW_APPLICATION_ID">=550 AND "LOOKUP_CODE"="GSR"."EVALUATION_IND" AND
"SECURITY_GROUP_ID"=0 AND "LANGUAGE"=USERENV('LANG') AND "ZD_EDITION_NAME"='V_20151118_1137' AND "VIEW_APPLICATION_ID"<=559)
filter("LOOKUP_CODE"="GSR"."EVALUATION_IND" AND "LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"=0 AND
"ZD_EDITION_NAME"='V_20151118_1137')

感谢你能够认真阅读完这篇文章,希望小编分享的"exist如何改写为left join"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

篇文章 笛卡尔 一致 一致性 价值 兴趣 同时 数据 更多 朋友 知识 编带 行业 谓词 资讯 资讯频道 频道 保证 参考 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州阿里云数据库优势 铁路网络安全工作下一步打算 大麦网抢票软件开发教程 关于网络安全法描述不正确 游戏开发模块管理软件开发 微信怎么清理数据库 数据库不能完成的事情 服务器多个tcp连接 数据库技术及应用(a) 高中网络技术应用视频教程 数据库应用专业可以报一建吗 甘肃网络安全攻防技术 山东璟灿互联网科技有限公司 系统集成包含软件开发吗 vps转发国外服务器 浙江crm售后管理软件开发 网络安全管理改进 网络安全知识 广大师生 株洲it软件开发专业 平面设计和软件开发哪个好学 安居客与瑞庭网络技术 高盛将入股低代码软件开发商 黄浦区互联网软件开发收费套餐 数据库不能完成的事情 违反数据库完整性约束 深圳纪元网络技术有限公司 云浮网络技术有限公司 自己家里能放服务器吗 金山区银联网络技术诚信为本 高级框架数据库
0