by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

5.ANALYZE(통계정보 생성)




제4장 시스템 진단과 튜닝(통계정보 생성)

Contents

4.5.1. 목적
4.5.2. 사용방법
4.5.3. DataDictionary
4.5.4. 실행사항

4.5.1. 목적

  • Cost based optimizer의 비용계산
  • 각 Object의 구조 검증
  • Chain 생성 여부 확인을 통한 시스템저장공간 관리

4.5.2. 사용방법

4.5.2.1. ANALYZE

ANALYZE object (TABLE, INDEX, CLUSTER..)  
  operation COMPUTE 정확한 통계값 제공, 전체 테이블을 ACCESS 하여 수집 계산하여 가장 많은 시간이 소요된다.
    ESTIMATE Data Dictionary와 데이터 견본으로 산정
    DELETE 모든 통계정보 삭제
STATICS   VALIDATE STRUCTURE 오브젝트 구조 검증
    LIST CHANED ROWS TABLE, CLUSTER의 체인 로우 확인 및 보정
    FOR TABLE FOR ALL... 컬럼 히스토그램 정보 생성

4.5.2.2. DBMS_STATS

  • 통계 테이블의 생성 및 삭제
    • Analyze 구문은 datadictionary의 정보를 지우고 새로이 통계정보를 갱신하는 단점을 보완하기 위해 DBMS_STATS에서는 CREATE_STAT_TABLE, DROP_STAT_TABLE를 지원하고 있다
    • 통계 테이블 생성
       DBMS_STATS.CREATE_STAT_TABLE(
       ownname VARCHAR2,
       stattab VARCHAR2,
       tblspace VARCHAR2 DEFAULT NULL);
       
    • 통계 테이블 삭제
       DBMS_STATS.DROP_STAT_TABLE(
       ownname VARCHAR2,
       stattab VARCHAR2 );
       
  • 옵티마이저 용 통계 정보 생성
    • 프로시저를 사용하여 특정 범위의 통계정보를 옵티마이저 용으로 생성 할 수 있다.
  • 통계정보의 이동
    • IMPORT: USER의 통계테이블=>DATA DICTIONARY
      IMPORT_COLUMN_STATS
      IMPORT_INDEX_STATS
      IMPORT_SYSTEM_STATS
      IMPORT_TABLE_STATS
      IMPORT_SCHEMA_STATS
      IMPORT_DATABASE_STATS
       
    • EXPORT: DATA DICTIONARY=>USER의 통계테이블
      EXPORT_COLUMN_STATS
      EXPORT_INDEX_STATS
      EXPORT_SYSTEM_STATS
      EXPORT_TABLE_STATS
      EXPORT_SCHEMA_STATS
      EXPORT_DATABASE_STATS
       

4.5.3. DataDictionary

USER_TABLES 총 로우의 수
  총 블록의 수
  비어 있는 블록에 쓰여질 수 있는 빈 공간의 평균
  체인이 발생된 로우의 수
  로우의 평균 길이
USER_COLUMNS Distinct한 값의 수
  히스토그램 정보
USER_INDEXES 인덱스의 Depth
  Leaf block의 개수
  Distinct Key의 수
  Leaf Blocks/Key의 평균
  Data Block/key의 평균
  Clustering Factor
  가장 큰 Key의 값(compute지정시)
  가장 작은 Key의 값(compute지정시)
USER_CLUSTER Cluster Key당 길이의 평균

4.5.4. 실행사항

  • 주기적인 ANALYZE작업 수행
  • 총 로우 수가 많은 테이블은 작업주기를 길게 한다
  • 해당 오브젝트와 연관있는 모든 오브젝트들을 동시에 작업한다. 프로시저로 작업을 수행한다.
  • 테이블을 재생성하거나 새로 클러스트링한 경우 ANALYZE한다.
  • 인덱스를 추가 혹은 재생성한 경우 ANALYZE한다.
  • SQL이나 배치 Job을 통해 다량의 데이터를 입력한 경우 ANALYZE한다.

문서에 대하여

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.