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
|
drop materialized view ma_vm;
/
drop table matable
/
create table matable (
tableid number,
record_id number,
state number(1),
flag varchar2(1),
flag2 varchar2(1),
amount number
)
/
alter table matable
add constraint pk_matable primary key(tableid, record_id)
/
insert into matable
Select 77 table_id, level record_id, 3 state, 'Y', 'O', trunc(dbms_random.value * 100) amount
from dual
connect by level <= 100
/
CREATE materialized VIEW ma_vm
build immediate
enable query rewrite AS
SELECT t23.flag, t23.flag2, SUM (t23.amount), COUNT (t23.record_id)
FROM matable t23
WHERE t23.tableid = 77
AND (t23.state = 3 OR t23.state = 7)
GROUP BY t23.flag, t23.flag2
/
set autotrace traceonly explain
SELECT t23.FLAG, t23.FLAG2, SUM(t23.AMOUNT), COUNT(t23.RECORD_ID)
FROM
matable t23 WHERE t23.tableid = 77 AND (t23.STATE = 3 OR t23.STATE = 7)
GROUP BY t23.FLAG, t23.FLAG2
/
...
SQL> SQL> 2 3 4 5
Plan d'exécution
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=FIRST_ROWS (Cost=2 Card=327 Bytes
=9810)
1 0 TABLE ACCESS (FULL) OF 'MA_VM' (Cost=2 Card=327 Bytes=9810
) |
Partager