Mview란

Programmingzi·2024년 1월 28일

Mview란?

Materialized View의 약자로, 일반 view와는 달리 물리적으로 존재하는 view를 의미한다.
실행 전에 비용이 많이 드는 조인 및 집계 작업을 미리 계산하고, db에 저장해 쿼리 실행 시간을 개선할 수 있다.

View와 비교

View

  • 가상 테이블이기 때문에 물리적으로 구현되어있지 않다.
  • 주로 임시적인 작업을 위한 용도로 사용된다.

Mview 생성

CREATE MATERIALIZED VIEW VIEW_NAME
BUILD IMMEDIATE[DEFERRED] REFRESH[FAST|COMPLETE|FORCE|NEVER]
ENABLE QUERY REWIRTE
AS 
SELECT 구문 
  • BUILD IMMEDIATE: Mview 생성과 동시에 데이터도 생성하는 옵션
  • BUILD DEFERRED: Mview 생성 후 데이터를 나중에 생성하는 옵션
  • REFRESH 옵션: Mview를 언제 갱신할 것인지
    - FAST: 원본 테이블의 변경된 데이터만 Mview에 갱신한다.
    (FAST REFRESH)가 동작하기 위해서는 뷰의 마스터 테이블이 Mview log가 있어야 한다.
    - COMPLETE: 원본 테이블이 변경되면 전부 갱신한다.
    - FORCE: FAST REFRESH 적용 -> 적용 안되면 COMPLETE REFRESH 적용
    - NEVER: 원본 테이블이 갱신되어도 뷰에 반영하지 않는다.

Mview 조회

select *
from all_mviews
where mview_name = 'mview_name';



참고

https://m.blog.naver.com/dnjswls23/222280335211
https://coding-factory.tistory.com/224
https://24hours-beginner.tistory.com/249

0개의 댓글