테이블 컬럼의 선태도를 구하는 쿼리
2010. 12. 19. 13:19ㆍ오라클
select column_name
,num_distinct
,num_nulls
,1/num_distinct selectivity
,round(1/num_distinct * t.num_rows,2) cardinality
from user_tables t, user_tab_columns c
where t.table_name = '고객'
and c.table_name = t.table_name
order by column_id;
선택도는 각 컬럼의 값의 종류를 전체 로우수로 백분율을 구한 값이고
카디널리티는 백분율에 전체로우수를 곱한 것이다.
전체로우수가 큰 경우에는 선택도가 꼭 정확하지 않을 수 있다.
'오라클' 카테고리의 다른 글
튜닝 대상 SQL을 추출할 때 ORA-06502 발생 (2) | 2010.12.22 |
---|---|
With 문의 함정 (0) | 2010.12.20 |
병렬쿼리를 수행할 때 테이블 큐를 통한 전송량에 편차가 크지 않은지 확인해 볼때 사용하는 쿼리 (0) | 2010.12.19 |
오라클 NUMTOYMINTERVAL, NUMTODSINTERVAL함수 (0) | 2010.12.01 |
not null constraint 추가/삭제 (0) | 2010.12.01 |