반응형
0. Materialized View(MView) 란
원천 테이블이나 조인된 테이블에서 집계되거나 결합된 데이터로 구성된 미리 계산된 테이블입니다.
요약 또는 집계 테이블이라고도 합니다.
1. Materialized View 특징?
물리적으로 존재하는 View
Data 저장공간 차지
Oracle8 i 이후 사용 가능 (mysql/mariadb 기능 없음)
합계함수 등을 사용하는 자주 사용하는 쿼리를 구체화 뷰로 많이 만든다. (요약 테이블)
실행 전에 비용이 많이 드는 조인 및 집계 작업을 미리 계산하고 결과를 데이터베이스의 테이블에 저장하여 쿼리 실행 시간을 개선하는 특수한 종류의 집계 보기
1. 생성 (create materialized view)
CREATE MATERIALIZED VIEW VIEW_NAME
BUILD IMMEDIATE[DEFERRED] REFRESH [ FAST | COMPLETE | FORCE | NEVER ]
ENABLE QUERY REWRITE
AS
SELECT 문장;
view refresh option
- [FAST] : 원본 테이블에 변경된 데이터만 구체화 뷰에 갱신한다. FAST REFRESH가 동작하기 위해서는 뷰의 마스터 테이블이 materialized view log 가 있어야 한다.
[COMPLETE] : 원본테이블이 변경되면 전부 갱신한다. - [FORCE] : FAST와 동일한 기능을 한다.
- [NEVER] : 원본테이블이 갱신되어도 뷰에 반영하지 않는다.
QUERY REWRITE option
일반 USER가 작성한 SQL 문이 구체화 된 뷰를 통해 데이터를 검색하는 것이 더 빨리 데이터를 찾을 수 있다고 분석되면 사용자의 SQL문을 구체화 뷰를 통해 검색하게 하는 기능이다.
ENABLE QUERY REWRITE : 사용자가 질의한 SQL을 옵티마이저에게 재작성 할 수 있도록 함. (CBO 기반 옵티마이저를 사용해야 가능)
DISABLE QUERY REWRITE : 사용자가 질의한 SQL을 옵티마이저가 임의로 재작성 할 수 없음
+ (일반적인/논리적) view 설명 보러가기
참조
반응형
'DB(SQL)' 카테고리의 다른 글
[DB] 책 (0) | 2022.05.12 |
---|---|
[공부해야할것] Database 단편화 (feat. DB 서버 성능저하) (0) | 2022.05.02 |
[DB] view (view/MView/snapshot) (0) | 2021.10.06 |
[DB] 문자열 연결 / 이어붙이기 (0) | 2021.09.17 |
[DB] 1701 Error constraint (0) | 2021.09.01 |