조나단 루이스
COST란 I/O와 CPU를 이용한 시간 중 가장 좋은 시간을 COST로 나타난다
옵티마이저가 문장을 수행하는데 걸릴 것이라고 예상하는 추측시간
NDV : Number of Distinct Value의 약자로 특정 컬럼에 유니크한 값이 얼마나 있는지를 애기하는 것이다 예를 들어 A 컬럼에 값이 1~9까지 있다면 NDV는 9가 되는 것이다
Density : 밀도라는 뜻으로 컬럼에 존재하는 값의 종류가 1개라면 밀도는 1이 되는 것이고 서로 다른 값의 종류가 10개라면 Density는 1/10 = 0.1이 되는 것이다 따라서 Denxity는 1/NDV로 표현할 수 있다
Selectivity : 전체 대상 레코드 중 특정 조건에 의해 선택될 것으로 예상되는 레코드 비율을 말한다 히스토그램이 있으면 그것으로 선택도를 산정하며 단일 컬럼에 대해서는 정확도도 비교적 높다 히스토그램이 없거나 있더라도 조건절에 바인드 변수를 사용하면 옵티마이저는 데이터 분포가 균일하다고 가정한 상태에서 선택도를 구한다
선택도 = 1/Distinct Value 개수 = 1/num_distinct
히스토그램 : Table 형태의 빈도(개수)를 Graphical 하게 표현한 것 컴
오라클은 히스토그램을 사용하여 데이터 분포가 고르지 않은 환경에서 Selectivity와 Cardinality 계산을 향상시킴
데이터 분포가 고르지 않을 때 히스토그램을 생성하지 않으면 NDV 값을 활용하여 Cardinality를 계산하지만 히스토그램을 생성하면 정확하게Cardinality 값을 계산할 수 있다
'스터디북' 카테고리의 다른 글
[11/27] 10053 trace (0) | 2015.11.27 |
---|---|
<11/27> 청춘 (0) | 2015.11.27 |
[11/26] exec print_table (0) | 2015.11.26 |
[11/26] partition table (0) | 2015.11.26 |
<11/26> HIGH HIGH (0) | 2015.11.26 |