본문 바로가기
728x90

분류 전체보기1841

[ORACLE] USER_SUMMARIES로 요약 뷰(MV) 기반 성능 최적화 이해하기 1. USER_SUMMARIES란?USER_SUMMARIES는 Oracle 데이터베이스에서 현재 사용자 스키마에 존재하는 요약(Materialized) 뷰의 정의 및 집계 정보를 보여주는 데이터 딕셔너리 뷰입니다. 주로 **쿼리 리라이팅(query rewrite)** 기능과 함께 사용되며, 복잡한 집계 연산을 빠르게 처리하기 위해 사전 계산된 결과를 저장하는 데 활용됩니다.2. 요약 뷰(Materialized View)와의 관계Oracle에서는 `Materialized View`를 사용해 반복적인 집계 쿼리의 성능을 향상시키고, 데이터 웨어하우스나 BI 분석 환경에서 **중간 계산 결과를 미리 저장**해 최종 쿼리 응답 속도를 줄일 수 있습니다.3. 주요 컬럼 설명컬럼명설명SUMMARY_OWNER요약 뷰.. 2025. 8. 7.
[ORACLE] USER_SUBPART_KEY_COLUMNS로 서브파티션 키 구조 완벽 분석 1. USER_SUBPART_KEY_COLUMNS란?USER_SUBPART_KEY_COLUMNS는 Oracle DB에서 복합 파티셔닝 테이블의 서브파티션 키 컬럼 정보를 보여주는 데이터 딕셔너리 뷰입니다. 이 뷰는 현재 접속한 사용자(스키마)의 객체에 대해서만 정보를 제공합니다. 이 뷰는 Composite Partitioning (예: Range-Hash, Range-List)을 사용하는 테이블의 서브파티션 정의를 파악할 때 필수적인 도구입니다.2. 사용 목적파티셔닝 구조 이해: 테이블 설계 시 서브파티션 기준을 명확하게 파악 가능쿼리 성능 최적화: 파티션 키 접근 여부에 따라 쿼리 튜닝 전략 수립DB 설계 문서화: 객체 구조의 명세 자동화 도구로 활용 가능3. 주요 컬럼 설명컬럼명설명NAME테이블 이름.. 2025. 8. 7.
[ORACLE] USER_SUBPART_HISTOGRAMS 뷰로 히스토그램 기반 서브파티션 최적화하기 1. USER_SUBPART_HISTOGRAMS란?USER_SUBPART_HISTOGRAMS는 Oracle DB에서 사용자 소유 서브파티션 컬럼에 대한 히스토그램 통계 정보를 저장하는 데이터 딕셔너리 뷰입니다. 이 정보는 SQL 옵티마이저가 데이터 분포 특성을 기반으로 정확한 실행 계획을 수립할 수 있도록 지원합니다.2. 히스토그램의 중요성히스토그램은 컬럼 값의 분포 상태를 세분화하여 저장함으로써, 옵티마이저가 일반 통계만으로는 판단할 수 없는 편향된 데이터 분포를 고려할 수 있게 해줍니다.빈도 기반 히스토그램 (Frequency)높이 균등 히스토그램 (Height-balanced)Top-N 히스토그램 (12c 이상)Hybrid 히스토그램 (18c 이상)3. 주요 컬럼 설명컬럼명설명TABLE_NAME통계.. 2025. 8. 7.
[ORACLE] USER_SUBPART_COL_STATISTICS로 파티션 컬럼 통계 완전 분석 1. USER_SUBPART_COL_STATISTICS란?USER_SUBPART_COL_STATISTICS는 Oracle 데이터베이스에서 사용자 소유의 서브파티션 테이블에 대한 컬럼별 통계 정보를 저장한 뷰입니다. 이 뷰는 옵티마이저가 쿼리 실행 계획을 결정할 때 참조하는 데이터로, 성능 최적화에 필수적인 역할을 합니다.2. 사용 목적쿼리 최적화: 옵티마이저가 효율적인 실행 계획을 수립하기 위한 기준 제공파티션 단위 튜닝: 각 서브파티션의 통계 정보를 기준으로 성능 병목 구간 진단스케일 아웃 전략 수립: 파티션 통계에 기반한 테이블 구조 개선 방향 제시3. 주요 컬럼 설명컬럼명설명TABLE_NAME통계가 수집된 테이블 이름SUBPARTITION_NAME서브파티션 이름COLUMN_NAME대상 컬럼 이름NU.. 2025. 8. 7.
[ORACLE] USER_SOURCE 뷰 완전 해부와 실전 활용 전략 1. USER_SOURCE란?USER_SOURCE는 Oracle 데이터베이스에서 현재 사용자(스키마)가 소유한 PL/SQL 객체의 소스 코드를 줄 단위로 저장하고 있는 데이터 딕셔너리 뷰입니다. 주로 프로시저, 함수, 트리거, 패키지 등의 코드를 조회하거나 분석할 때 사용됩니다.2. 주요 용도PL/SQL 디버깅: 트리거나 패키지의 로직을 추적할 때 유용소스코드 감사: 보안 감사 또는 코드 변경 이력 검토용자동 문서화: 외부 시스템에 소스코드 자동 백업 및 문서화 프로세스 구축3. 주요 컬럼 설명컬럼명설명NAME소스코드가 포함된 객체 이름 (예: 프로시저, 함수 등)TYPE객체 유형 (PROCEDURE, FUNCTION, PACKAGE 등)LINE소스코드의 줄 번호TEXT각 줄의 실제 소스 코드 텍스트4... 2025. 8. 7.
[ORACLE] USER_SNAPSHOT_REFRESH_TIMES 뷰 완전 해부 및 활용법 1. USER_SNAPSHOT_REFRESH_TIMES란?USER_SNAPSHOT_REFRESH_TIMES는 Oracle 데이터베이스에서 사용자 소유의 매터라이즈드 뷰(MV, Materialized View)가 마지막으로 리프레시(refresh)된 시점을 기록하는 데이터 딕셔너리 뷰입니다. 해당 정보는 MV 동기화 상태 및 최신 데이터 여부를 파악할 때 매우 유용합니다.2. 주요 용도 및 필요성매터라이즈드 뷰의 최신성 확인: 실시간 데이터와 MV 간 싱크가 맞는지 검증리프레시 스케줄 진단: 자동/수동 리프레시 주기의 실행 여부 점검성능 분석 자료 확보: MV 리프레시가 얼마나 자주 실행되었는지 기록 추적3. 주요 컬럼 설명컬럼명설명NAME매터라이즈드 뷰(MV)의 이름LAST_REFRESH_DATE마지막 .. 2025. 8. 7.
728x90