실체화 뷰란
- 뷰는 쿼리만 저장하고 있을 뿐 자체적으로 데이터를 갖지는 않는다. 반면, 실체화 뷰는
'Materialize'가 의미하는 것처럼 물리적으로 실제 데이터를 갖는다.
- MV를 활용하는 이유는 기준 테이블이 그만큼 대용량이기 때문인데 Join View는 같은 데이터를
중복 저장하는 비효율이 있어 활용도가 낮고, 주로 Aggregate View 형태로 활용되는 편이다.
- 아래는 MV를 사용하게 만드는 가장 중요한 두 가지 특징이다.
● Refresh 옵션을 이용해 오라클이 집계 테이블을 자동 관리하도록 할 수 있다.
● 옵티마이저에 의한 Query Rewrite가 지원된다.
( Query Rewrite 일반 적인 쿼리를 작성 시 필요한 실체화된 뷰가 있으면 대신 해서
쿼리가 변경 되어 MV를 사용하는 것 )
- 쿼리 재작성 기능이 작동하려면 MV를 정의할 때 enable query rewrite 옵셥을 지정해주어야
하고, 세션 또는 시스템 레벨에서 아래와 같이 파라미터도 변경해 주어야 한다. 9i 까지는
기본 설정이 false였지만 10g부터는 true로 바뀌었다.
예시) alter sessson set query_rewrite_enabled =true ;
'ORACLE > SQLP' 카테고리의 다른 글
성능고도화 4-12 기타 쿼리 변환 (0) | 2016.12.26 |
---|---|
성능고도화 4-11. 집합 연산을 조인으로 변환 (0) | 2016.12.26 |
성능고도화 4-9 Outer 조인을 Inner 조인으로 변환 (0) | 2016.12.26 |
성능고도화 4-8. 공통 표현식 제거 (0) | 2016.12.26 |
성능고도화 4-7. Or-expansion (0) | 2016.12.26 |