요청 시 캐시된 쿼리 결과
일반 VIEW 가 그냥 저장된 쿼리 — 모든 SELECT 가 기저 쿼리 재실행. MATERIALIZED VIEW 가 저장된 쿼리 + 결과 — 데이터 한 번 계산, 디스크 저장, 테이블처럼 쿼리. 갱신은 스케줄 (또는 요청 시) 로 신선 데이터.
Materialised view 가 본전 뽑는 때
- 자주 쿼리되는 비싼 aggregation (대시보드, 리더보드).
- 기저 테이블이 쿼리되는 것보다 훨씬 덜 변하는 복잡한 join.
- 초 단위 신선도 불필요한 보고서 — 분 신선 또는 시간 신선이면 충분.
갱신
REFRESH MATERIALIZED VIEW 가 데이터 재구축; 실행 동안 view 잠김. REFRESH MATERIALIZED VIEW CONCURRENTLY 가 잠금 없이 재구축 — 그러나 view 에 unique 인덱스 필요 + 더 느림. 프로덕션엔 CONCURRENTLY.