본문 바로가기

DB

[책정리] 실행계획 아우트라인, 옵티마이저의 한계

새로 , 대용량 데이터베이스 솔루션 vol.1 공부하며 여기에 정리해본다.

     

사실 옵티마이저 관련해서는 제일 마지막의 문구가 가장 핵심이 아닐까 생각한다.

 

실행계획의 고정화

-      아우트라인(Outline)

ü  실행계획의 요약본

ü  가지 정해진 참조값이 같으면 고정된 실행계획을 이용하여 쿼리를 수행하도록 하는 가지 참조값. 동일한 실행계획으로 재현할 있도록 도와주는 최소한의 참조 정보, 그러나 힌트와는 다르다.

ü  하나 혹은 이상의 SQL 적용 가능, 그룹별(카테고리별) 적용 가능

     

새로운 옵티마이저의 적용

1.  최대한 오랜 기간 동안 현재 버전으로 아우트라인을 생성한다.

상황에 따라서 아우트라인을 범위(SYSTEM/SESSION...) 카테고리(배치/OLTP...)별로 생성한다.

2.  아우트라인 생성 새로운(버전업 ) 옵티마이저를 적용하고 문제 발생 문제되는 SQL 아우트라인을 적용한다.

     

옵티마이저의 한계

-      옵티마이저는 태생적으로 한계를 지니고 있다. 컬럼/인덱스의 데이터 분포도를 정확하게 없기 때문이다.

ü  LIKE, <, >, BETWEEN 등의 조건

ü  여러 컬럼의 결합 인덱스

-      그러므로 적절한 인덱스, 클러스터링을 결정하고 높은 수준의 SQL 구사하는 것이 더욱 중요하다.