본문 바로가기
Database/Oracle

[ORACLE] USER_SUMMARIES로 요약 뷰(MV) 기반 성능 최적화 이해하기

by Papa Martino V 2025. 8. 7.
728x90

USER_SUMMARIES로 요약 뷰(MV) 기반 성능 최적화 이해하기
[ORACLE] USER_SUMMARIES

1. USER_SUMMARIES란?

USER_SUMMARIES는 Oracle 데이터베이스에서 현재 사용자 스키마에 존재하는 요약(Materialized) 뷰의 정의 및 집계 정보를 보여주는 데이터 딕셔너리 뷰입니다. 주로 **쿼리 리라이팅(query rewrite)** 기능과 함께 사용되며, 복잡한 집계 연산을 빠르게 처리하기 위해 사전 계산된 결과를 저장하는 데 활용됩니다.

2. 요약 뷰(Materialized View)와의 관계

Oracle에서는 `Materialized View`를 사용해 반복적인 집계 쿼리의 성능을 향상시키고, 데이터 웨어하우스나 BI 분석 환경에서 **중간 계산 결과를 미리 저장**해 최종 쿼리 응답 속도를 줄일 수 있습니다.

3. 주요 컬럼 설명

컬럼명 설명
SUMMARY_OWNER 요약 뷰 소유자 (현재 사용자)
SUMMARY_NAME 요약 뷰 이름
QUERY_TXT 요약 뷰를 정의한 SELECT 쿼리 텍스트
CONTAINER_NAME 기반이 되는 원본 테이블
STORAGE_TABLE 물리적으로 데이터를 저장하는 내부 테이블
ENABLED 쿼리 리라이팅 기능 활성화 여부 (YES/NO)

4. 실전 활용 예제

SELECT SUMMARY_NAME, CONTAINER_NAME, ENABLED
FROM USER_SUMMARIES
WHERE ENABLED = 'YES';
      

이 쿼리는 현재 사용자 스키마에서 쿼리 리라이팅이 가능한 요약 뷰 목록을 출력합니다.

5. 관련 뷰 비교

뷰 이름 역할 차이점
USER_MVIEWS Materialized View 메타 정보 전체 MV 정보 및 리프레시 방식 포함
USER_SUMMARIES 집계 및 쿼리 리라이팅 중심 정보 쿼리 텍스트 기반 최적화 용도
USER_MVIEW_REFRESH_TIMES 리프레시 타임 마지막 리프레시 일시 추적

6. 쿼리 리라이팅(Query Rewrite)이란?

쿼리 리라이팅은 Oracle 옵티마이저가 실행 시점에 기존 쿼리를 요약 뷰로 자동 대체하여 성능을 극대화하는 기능입니다.

  • 복잡한 조인/집계 연산을 피할 수 있음
  • 실시간 분석 속도를 대폭 향상시킴
  • 옵션: ENABLE QUERY REWRITE을 MV 생성 시 지정

7. 고급 활용 전략

  • BI 리포트 최적화: 요약 뷰로 미리 집계 처리하여 대시보드 속도 개선
  • ETL 후 리프레시 전략: 대량 데이터 적재 후 수동 리프레시 실행
  • SQL 튜닝 분석: 실행 계획에서 요약 뷰 사용 여부 확인

8. 결론

USER_SUMMARIES 뷰는 Oracle 데이터베이스에서 집계 기반 성능 최적화를 위한 핵심 도구입니다. 특히 BI, DW, OLAP 등 분석 중심 환경에서 자주 사용되며, 쿼리 리라이팅 기능과 함께 활용하면 시스템의 응답성을 획기적으로 높일 수 있습니다.

참고 자료

728x90