DBMS_STATS.GATHER_TABLE_STATS
(
ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
estimate_percent NUMBER DEFAULT DEFAULT_ESTIMATE_PERCENT,
block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT DEFAULT_METHOD_OPT,
degree NUMBER DEFAULT DEFAULT_DEGREE_VALUE,
cascade BOOLEAN DEFAULT DEFAULT_CASCADE,
no_invalidate BOOLEAN DEFAULT to_no_invalidate_type(get_param('NO_INVALIDATE')),
granularity VARCHAR2 DEFAULT DEFAULT_GRANULARITY,
force BOOLEAN DEFAULT FALSE
);
<파라미터 설명>
ownname | 스키마의 이름. NULL일 경우 현재 스키마의 이름 |
tabname | 테이블의 이름 |
partname | 파티션의 이름 |
estimate_percent | 샘플링할 로우의 퍼센트를 정의한다. 0.000001 이상 100 이하의 값을 설정할 수 있다. 0을 입력한 경우에는 optimizer가 테이블에 크기에 따라 적합한 sampling rate을 결정하여 수행. |
block_sample | estimate_percent가 100보다 작을 때 로우 샘플링 대신 블록 샘플링을 사용할 수 있다. 블록 샘플링 방식은 로우 샘플링에 비해 표본이 고르게 뽑히지 않기 때문에 estimate_percent가 충분히 크지 않을 때는 기본값인 FALSE로 지정. |
degree | 병렬 쿼리의 처리 개수를 설정. |
cascade |
대상 테이블의 인덱스에 대한 통계수집 여부
인덱스 통계정보는 병렬처리가 불가능
TRUE – 대상 테이블에 관련된 index 에 대해서 통계정보 수집
|
no_invalidate | TRUE로 설정하면 관련된 Physical Plan을 삭제하지 않음. |
granularity | 통계 정보를 수집하는 대상을 지정. ALL: 테이블 및 파티션의 통계 정보를 수집. GLOBAL: 파티션을 제외한 테이블의 통계 정보만 수집. PARTITION: 파티션 수준의 통계 정보만 수집. |
force | TRUE로 설정하면 테이블의 통계 정보가 잠겨 있어도 수집. |
EX>
SQL> exec dbms_stats.gather_table_stats(owner =>'SCOTT', tabname =>'EMP', partname =>'EMP_PART_202303', estimate_percent => 15, cascade => TURE, degree => 4, granularity =>'PARTITION', NO_INVALIDATE => false);
'oracle' 카테고리의 다른 글
[ORACLE] DBMS_METADATA.GET_DDL (0) | 2023.03.24 |
---|---|
[ORACLE] ORA-00439: feature not enabled: Deferred Segment Creation (0) | 2023.03.22 |
[ORACLE] 시퀀스 값 변경 (0) | 2023.03.03 |
[ORACLE] BLOCK CORRUPTION 조치 (0) | 2023.02.27 |
[ORACLE] 시퀀스 생성 (0) | 2023.02.20 |