Virtual vs Stored
일반 VIEW와 Materialized VIEW
둘 다 쿼리 결과에 이름을 붙이지만, 일반 뷰는 정의를 저장하고 물리화된 뷰는 결과 스냅샷을 저장합니다.
VIEW: 정의 저장
MV: 결과 저장
REFRESH 필요
VIEW
쿼리 정의를 재사용
조회 시점에 기반 테이블을 읽어 결과를 만듭니다. 보안, 재사용, 논리적 독립성에 좋습니다.
Materialized VIEW
결과를 물리 저장
반복 조회는 빨라질 수 있지만, 원본 변경 후 REFRESH 전략이 필요합니다.
원본 테이블
orders · users
항상 최신 데이터가 들어 있는 기준입니다.
→
뷰 정의
SELECT 저장
일반 뷰는 정의를 실행하고, 물리화된 뷰는 저장된 결과를 읽습니다.
→
갱신 전략
Freshness
물리화된 뷰는 빠른 조회와 최신성 사이의 선택이 생깁니다.
구분
강점
주의
VIEW
권한 분리, 쿼리 재사용
복잡한 뷰 체인은 디버깅 어려움
Materialized
집계 결과 반복 조회
REFRESH 비용과 지연