벨랜튜레이즈 알고리즘
인덱스 구조
blockA + blockL + fileA
8 + 4 + 4
같은 값이면 로우아이디순으로 소팅되어있음
인덱스사용못하는 경우
- 인덱스를 가공 하는 경우 ( 인덱스는 like, <>, in 등 다 사용할수 있음)
- 좌변을 가공하지마라
- 함수기반 인덱스 가용가능
- NOT 부정형 조건 사용
- bitmap index에서는 가능
- NULL, NOT NULL
- 옵티마이져가 취사선택
- 의도적으로 인덱스 사용못하도록 하기
최근에 만들어진것 -> SQL 파싱할때 뒤에서 부터 파싱
힌트 / suppressing / 옵티마이저
컬럼의 형변환
NLS_DATE_FORMAT = ‘DD-MM-YY’ => ‘yyyyMMdd'
nul = chr ==> num = TO_NUM(chr)
6개컬럼 이상일때
분포도가 10~15% 이내일때
분포도가 이내가 아니여도 절대량이 많으면 클러스트링
손익분기점
인덱스 머지 보다 결합인덱스를 잘 사용하자.
인덱스머지가 불리한경우 . 분포도차이가 클때
인덱스머지가 유리한경우. 분포도차이가 적을때, 부분범위처리