1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
select CHAMP1,count(*) cpt
from TABLE1
where (CHAMP1='XXXXX' or CHAMP1='YYYYY')
and TABLE1.CHAMP2 in (select CHAMP2 from TABLE3 where table3ID=1)
and TABLE1.CHAMP3 in ( select CHAMP3 from TABLE4 where table4ID=1)
and CHAMP5 in
(
select CHAMP5
from TABLE2
where CHAMP6 =
(
select max(CHAMP6)
from TABLE2 m2
where TABLE2.CHAMP5=CHAMP5
)
and TABLE2.CHAMP1 = 'ZZZZZZ'
group by CHAMP5
)
group by CHAMP1;
select plan_table_output from table(dbms_xplan.display());
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 36 | | 20596 (3)| 00:04:08 |
| 1 | HASH GROUP BY | | 1 | 36 | | 20596 (3)| 00:04:08 |
| 2 | NESTED LOOPS | | 1 | 36 | | 20595 (3)| 00:04:08 |
| 3 | NESTED LOOPS | | 1 | 31 | | 20595 (3)| 00:04:08 |
| 4 | NESTED LOOPS | | 2 | 50 | | 20595 (3)| 00:04:08 |
| 5 | VIEW | VW_NSO_2 | 2 | 10 | | 20591 (3)| 00:04:08 |
| 6 | HASH GROUP BY | | 2 | 10 | | 20591 (3)| 00:04:08 |
| 7 | VIEW | VM_NWVW_3 | 2 | 10 | | 20591 (3)| 00:04:08 |
|* 8 | FILTER | | | | | | |
| 9 | HASH GROUP BY | | 2 | 84 | | 20591 (3)| 00:04:08 |
|* 10 | HASH JOIN | | 4090K| 163M| 14M| 20305 (2)| 00:04:04 |
|* 11 | TABLE ACCESS FULL | TABLE2 | 350K| 10M| | 12948 (1)| 00:02:36 |
| 12 | INDEX FAST FULL SCAN | IDX_MAX_CHAMP6 | 3548K| 37M| | 2726 (2)| 00:00:33 |
|* 13 | TABLE ACCESS BY INDEX ROWID| TABLE1 | 1 | 20 | | 2 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | IDX8 | 1 | | | 1 (0)| 00:00:01 |
|* 15 | INDEX UNIQUE SCAN | IDX20 | 1 | 6 | | 0 (0)| 00:00:01 |
|* 16 | INDEX UNIQUE SCAN | IDX23 | 1 | 5 | | 0 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
8 - filter("CHAMP6"=MAX("CHAMP6"))
10 - access("TABLE2"."CHAMP5"="CHAMP5")
11 - filter("TABLE2"."CHAMP1"='ZZZZZZ')
13 - filter("TABLE1"."CHAMP2" IS NOT NULL AND ("CHAMP1"='XXXXX' OR "CHAMP1"='YYYYY'))
14 - access("CHAMP5"="CHAMP5")
15 - access("table3ID"=1 AND "TABLE1"."CHAMP2"="CHAMP2")
16 - access("table4ID"=1 AND "TABLE1"."CHAMP3"="CHAMP3") |
Partager