Materialized View
리프레시와 쿼리 재작성 같은 기능을 엔진이 맡습니다.
예를 들어 orders를 TRUNC(order_date) 기준으로 일별 집계해 저장할 때, Materialized View는 DBMS 기능을 활용하고 요약 테이블은 애플리케이션이나 배치가 직접 운영합니다.
리프레시와 쿼리 재작성 같은 기능을 엔진이 맡습니다.
집계 테이블과 적재 로직을 직접 만들고 직접 호출합니다.
자동 리프레시 옵션으로 운영 부담을 줄일 수 있습니다.
갱신 시점과 적재 로직을 애플리케이션이 명시적으로 설계합니다.
원본 테이블을 조회해도 엔진이 MV로 우회할 수 있습니다.
어떤 화면과 리포트가 이 테이블을 쓸지 쿼리 수준에서 분명히 관리합니다.
정의는 SQL로 간결하지만 내부 동작과 디버깅은 DBMS 특성에 더 의존합니다.
자유롭게 설계하고 직접 검증할 수 있지만, 그만큼 실수도 직접 책임져야 합니다.
DBMS 기능을 활용해 집계 조회를 더 투명하게 운영할 수 있습니다.
MV가 없는 환경에서도 같은 목적을 구현할 수 있는 가장 현실적인 방법입니다.
집계 자체보다 “엔진이 알아서 맞춰 주는 운영성”을 사고 싶다면 MV가 더 잘 맞습니다.
운영 로직을 직접 가지더라도 어디서나 같은 패턴으로 구현해야 한다면 요약 테이블이 단순합니다.