본문 바로가기

SQL 옵티마이저

SQLP - 옵티마이저 @markdown # 옵티마이저 ## 옵티마이저란____- SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심엔진- 옵티마이저가 생성한 SQL 처리경로가 `실행계획` #### SQL 최적화 과정 요약- 1. 사용자가 던진 쿼리 수행을 위해 후보군이 될만한 실행계획을 찾는다.- 2. 데이터 딕셔너리에 미리 수집해 놓은 오브젝트 통계 및 시스템 통계정보를 이용해 실행계획의 예상비용을 산정한다.- 3. 각 실행계획을 비교해서 최저비용을 갖는 하나를 선택한다. ## 옵티마이저 종류____### 규칙기반 옵티마이저(Rule-Based Optimizer, Heuristic Optimizer)- 미리 정해 놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택- 규칙 : 엑세스.. 더보기
SQLP - 옵티마이저와 실행계획 @markdown # 옵티마이저(Optimizer)____- 옵티마이저는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행- 최적의 실행 방법을 `실행계획`이라함- 다양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 역할- `Rule Based` / `Cost Based` `Optimizer`가 있다.(RBO, CBO) ![출처 : 구루비넷 ](http://wiki.gurubee.net/download/attachments/26744562/SQL_239.jpg) ## 규칙기반 옵티마이저(RBO)____- 규칙(우선순위)을 가지고 실행계획을 생성- 판단기준 : 인덱스 유무, 인덱스 종류, SQL 연산자(`=`, `>> `Full Table Scan`(인덱스가 존재하면, 항상 인덱.. 더보기