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' - 위에 있는거 죄다 모읍니다!(~_~) |
SQL>EXEC DBMS_STATS(OWNNAME=>'FALLENSTAR', INDNAME=>'INX00100', ESTIMATE_PERCENT=>10)
위와 같은 방법으로 사용하시면 됩니다.
댓글 없음:
댓글 쓰기