SQLP

[SQLP] Selectivity & Cardinarity

songsua 2024. 7. 21. 23:42

1. 선택도 (Selectivity)★

전체 레코드 중에서 조건절에 의해 선택될 것으로 예상되는 레코드의 비율(%)
선택도에 따라서 옵티마이저 실행계획을 결정한다.
선택도가 1에 가까울수록 해당 컬럼은 행 고유의 값에 가깝다.


선택도 = 카디널리티 / 총 레코드 수
선택도는 데이터베이스에서 '인덱스를 어느 컬럼에 생성할지' 에 대한 정보를 알려준다.
컬럼의 선택도가 낮을수록 인덱스의 후보가 되기 좋다.

2.카디널리티(Cardinarity)

특정 데이터 집합의 Unique한 값의 개수이다.
카디널리티는 join,정렬,필터의 비용을 결정한다.

카디널리티 = 총 row의 수 / NDV

 

3.Plan Generator 

실행계획을 만들때 실행되는 역할
여러가지 실행계획을 생성하고, 비용을 산출한다.

 

4. Row source Generator

plan generator에서 실행계획을 작성 한뒤, 실행계획을 실행 가능한 코드, 형태로 포맷팅하는 작업을 하는 곳이다.