728x90

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 등 분석 중심 환경에서 자주 사용되며, 쿼리 리라이팅 기능과 함께 활용하면 시스템의 응답성을 획기적으로 높일 수 있습니다.
참고 자료
- Oracle® Database Data Warehousing Guide 21c
- Oracle® SQL Tuning Guide
- Oracle Help Center: https://docs.oracle.com/en/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_SYS_PRIVS로 사용자 시스템 권한 정밀 분석 (0) | 2025.08.07 |
|---|---|
| [ORACLE] USER_SYNONYMS 뷰를 활용한 시노님 구조 완벽 이해 (0) | 2025.08.07 |
| [ORACLE] USER_SUBPART_KEY_COLUMNS로 서브파티션 키 구조 완벽 분석 (0) | 2025.08.07 |
| [ORACLE] USER_SUBPART_HISTOGRAMS 뷰로 히스토그램 기반 서브파티션 최적화하기 (0) | 2025.08.07 |
| [ORACLE] USER_SUBPART_COL_STATISTICS로 파티션 컬럼 통계 완전 분석 (0) | 2025.08.07 |