2009년 8월 20일 목요일

ORACLE_001. STATS_PACK - OVER VIEW

STATS_PACK - OVER VIEW                                                                  

STATS PACK

  STATS PACK은 특정한 OBJECT에 대한 ANALYZE 기능을 제공합니다. 물론 이러한 STATS PACK 이 없어도 충분히 OBJECT의 정보를 DDT(DATA DICTIONARY TABLE)에 갱신할 수 있지만 STATS PACK은 사용자가 입맛에 맞게 설정할 수 있는 다양한 옵션을 제공하여 줍니다.

 

  여기서는 일단 STATS_PACK 의 기본적인 사용법을 알아보고 STATS_PACK을 이용하여 인덱스의 STATISTICS를 수집하는 방법에 대해서 알아보도록 합시다.

 

 GATHERING OPTIMIZER STATISTICS

  ANALYZE 명령보다 훨씬 뛰어난 성능을 보여주는 STATS_PACK을 이용하여 봅시다. 대표적으로 다음 네가지의 서브 프로그램이 있습니다.

 

    GATHER_INDEX_STATS

    GATHER_TABLE_STATS

    GATHER_SCHEMA_STATS

    GATHER_DATABASE_STATS

    GATHER_SYSTEM_STATS

 

               좀더 많은 STATS_PACK의 SUBPROGRAMS을 보시려면 여기를 클릭하세요!

 

 GATHER_INDEX_STATS PROCEDURE

  SYNTAX____________________________

    DBMS_STATS.GATHER_INDEX_STATS (

            ownname

            indname

            partname

            estimate_percent          

            stattab

            statid

            statown

            degree

            granularity

            no_invlalidate

VARCHAR2,                

VARCHAR,

VARCHAR2              

NUMBER

VARCHAR2

VARCHAR2

VARCHAR2

NUMBER

VARCHAR2

BOOLEAN

 

 

DEFAULT NULL,

DEFAULT NULL,

DEFAULT NULL,

DEFAULT NULL,

DEFAULT NULL,

DEFAULT NULL,                             

DEFAULT 'DEFAULT',

DEFAULT FALSE );


       

 

 

 

 

 

 

 

 

 

 

PARAMERS______________________________

    OWNNAME

 

    INDNAME

 

    PARTNAME

 

    ESTIMATE_PERCENT   

 

 

 

    STATTAB

 

    STATID

 

    STATOWN

 

    DEGREE

 

 

 

    GRANULARITY

 

  정보를 수집할 인덱스의 스키마를 입력합니다.

 

  인덱스의 이름입니다.

 

  파티션 이름입니다.

 

  계산할 행의 퍼센테이지 입니다. 값의 범위는 0.000001 ~ 100 입니다.

  DBMS_STATS.AUTO_SAMPLE_SIZE 는 좋은 STATISTICS를 얻는데 오라클이

  최적의 값을 결정합니다.

 

  현재 STATISTICS 를 저장할 사용자 테이블을 지정합니다.

 

  STATTAB 안에 STATISTICS와 연관된 식별자를 지정합니다.(옵션입니다!)

 

  STATTAB 을 소유할 스키마를 정합니다. (OWNNAME과 다를 경우 사용합니다.)

 

  병렬처리 기준입니다. (NULL값은 CREATE/ALTER INDEX 문에 사용했던 기본

  값을 사용한다는 의미 입니다.) DBMS_STATS.DEFAULT_DEGREE 에 지정된

  초기화 파라미터에 기초한 기본 값을 사용합니다.

 

  수집할 STATISTICS의 그래뉴얼리티를 정합니다. (파티션 인덱스에만 사용!)

 

    'DEFAULT' -   GLOBAL 과 PARTITION-LEVEL STATISTICS 수집

    'SUBPARTITION' - SUBPARTITION-LEVEL STATISTICS 수집

    'PARTITION'  -  PARTITION-LEVEL STATISTICS 수집

    'GLOBAL' - GLOBAL STATISTICS 수집

    'ALL' - 위에 있는거 죄다 모읍니다!(~_~)




























   
 
 
 
 
 
 
EXAMPLE 이 없으면 섭섭하겠죠!
 
    SQL>EXEC DBMS_STATS(OWNNAME=>'FALLENSTAR', INDNAME=>'INX00100', ESTIMATE_PERCENT=>10)
 
    위와 같은 방법으로 사용하시면 됩니다.

댓글 없음:

댓글 쓰기