[바미] 옵티마이저(Optimizer)란 무엇인가?
·
프로그래밍(Web)/공부일기
옵티마이저(Optimizer)란?옵티마이저는 데이터 베이스가 SQL 쿼리를 '어떻게' 실행할지를 결정(최적화)하는 엔진입니다. 개발자가 작성한 쿼리를 보고 어떤 순서로 테이블에 접근할 지, 어떤 인덱스를 사용할 지, 어떤 조인 방식을 쓸 지, 등등을 가장 빠르고 적은 자원을 사용하는 방법으로 결정해주죠. 데이터베비스 내부에서 쿼리가 실제로 실행되기 전에 '이 쿼리를 어떤 플랜(Plan)으로 실행하면 가장 비용(Cost)이 적을까?'를 계산하고, 이것에 따른 실행 계획(Execution Plan)을 생성해주는데 이 과정을 수행하는 것이 오늘 알아 볼 옵티마이저(Optimizer)입니다.옵티마이저(Optimizer)가 SQL을 실행하는 과정 옵티마이저(Optimizer)는 크게 SQL 작성 -> 구문 분석(..