[DB] 데이터베이스 옵티마이저(Optimizer)란?


[DB] 데이터베이스 옵티마이저(Optimizer)란?

데이터베이스 옵티마이저란? 옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해 주는 DBMS 내부의 핵심 엔진이다. 사용자가 구조화된 질의어(SQL)로 결과 집합을 요구하면, 이를 생성하는데 필요한 처리경로는 DBMS에 내장된 옵티마이저가 자동으로 생성해준다. 옵티마이저가 생성한 SQL 처리경로를 실행계획(Execution Plan)이라고 한다. 옵티마이저의 SQL 최적화 과정은 다음과 같다. 1. 사용자가 던진 쿼리 수행을 위해, 후보군이 될만한 실행계획을 찾는다. 2. 데이터 딕셔너리(Data Dictionary)에 미리 수집해 놓은 오브젝트 통계 및 시스템 통계정보를 이용해 각 실행계획의 예상 비용을 산정한다. 3. 각 실행계획을 비교하여 최저비용을 갖는 하나를 선택한다. ..


원문링크 : [DB] 데이터베이스 옵티마이저(Optimizer)란?