Materialized View(MView)
- View는 논리적, MView는 물리적으로 존재하는 테이블
- MView는 어떤 결과를 뽑아 내는 쿼리가 빈번히 사용 될 경우,
Query 실행 시간의 수행속도 향상을 위해 사용
- 자주사용되는 View의 결과를 디스크에 저장해서 Query의 속도를 향상
사전작업
(권한부여)
GRANT QUERY REWRITE to SCOTT;
GRANT CREATE MATERIALIZE VIEW to SCOTT;
예제
CREATE MATERIALIZED VIEW dept_sal
BUILD IMMEDIATE
REFRESH
FAST
ON COMMIT
ENABLE QUERY REWRITE
AS
SELECT sum(a.sal), a.deptno
FROM emp a, dept b
WHERE a.deptno = b.deptno
GROUP BY a.deptno;
구문해석
BUILD IMMEDIATE : MView 생성과 동시에 데이터 생성
BUILD DEFERRED : MView 생성은 하지만 추후에 데이터 생성
REFRESH : Refresh 옵션
FAST : 새로운 데이터 삽입 시 점진적으로 Refresh
FORCE : Fast Refresh가 가능한지 점검후 가능하면 적용, 아니면 Completer Refresh적용
COMPLETE : MView의 데이터 전체가 Refresh
NEVER : MView의 Refresh를 발생하지 않음
ON COMMIT : 기초 테이블에 커밋이 일어날 때 Refresh
ON DEMAND : 사용자가 DBMS_MVIEW 패키지를 실행한 경우 Refresh
ENABLE QUERY REWRITE : 임의로 SQL문장을 처리 시 Query Rewrite를 고려
조회
SELECT * FROM dept_sal;
* View와 다르게 Segment 영역사용(실제 데이터) *
* 생성과 동시에 테이블도 생성됨 *
'oracle11R2 > Workshop I' 카테고리의 다른 글
Oracle 11g Workshop I(K) (0) | 2012.10.05 |
---|---|
Admin I Part.01_가상 머신 구성 실습 (0) | 2012.10.05 |
06장. 오라클 네트워크 환경 구성 (0) | 2012.09.22 |
Oracle Database 11g Administration Workshop I R2 practice (0) | 2012.09.21 |
05장. Configuring the Oracle Network Environment (0) | 2011.07.16 |