Gathering Histogram

Histogram은 어떻게 수집하는가?
  • DBMS_STATS Package의 METHOD_OPT Parameter의 값에 의해 결정. 각 Column별로 Bucket Size를 지정하는 역할
    예) exec dbms_stats.gather_table_stats(user, 't1', method_opt=>'for all column size 1');


method_opt의 옵션
'for 수집대상컬럼 size Bucket_Size'
수집대상컬럼 옵션의미
all column모든 컬럼에 대해 수집 (Hidden Column 포함)
all indexed columnIndex가 존재하는 모든 컬럼에 대해 수집
columns COLUMN_NAME컬럼명을 명시한 개별컬럼에 대해 수집
all hidden columnsFunction Based Index에 의해 생성된 Hidden Column 에 대해서 수집
Bucket_Size 옵션의미
1수집하지 않음
autoOracle이 Data의 분포를 고려하여 Bucket Size를 계산
해당 Column이 Predicate로 사용된 적이 있는 경우 에만 수집
skewonlyOracle이 Data의 분포를 고려하여 Bucket Size를 계산
해당 Column이 Predicate로 사용된 적이 없는 경우 에도 수집
2~254 사이의 값Bucket_Size 지정 (1 미만, 254 초과 값 지정 시 오류 발생, 수집 안됨)