옵티마이저란?

<aside> 💡

옵티마이저 (Optimizer)

테이블의 통계 정보를 참조해 최적의 쿼리 실행 계획을 수립합니다.

</aside>

옵티마이저의 중요성

옵티마이저가 실행 계획을 만드는 방식을 이해해야 실행 계획을 최적화할 수 있기 때문에 중요합니다.


쿼리 실행 절차

1 SQL 파싱 SQL문을 다루기 쉽게 파싱해 트리 구조로 쪼갭니다. MySQL 엔진
2 실행 계획 수립⭐⭐⭐⭐⭐ 테이블 조회 순서와 이용할 인덱스를 선택하고 성능을 최적화합니다. MySQL 엔진
3 쿼리 실행 실행 계획에 따라 스토리지 엔진에서 가져온 데이터를 MySQL 엔진에서 조인하고 정렬해 반환합니다. 스토리지 엔진
MySQL 엔진

2️⃣ 실행 계획 수립

실행 계획 수립 단계에서는

불필요한 조건을 제거하고

② 복잡한 연산은 단순화하고

③ 테이블 조인 순서를 정하고

④ 사용할 인덱스를 고르고

⑤ 조회된 결과를 임시 테이블로 재가공할지를 결정합니다.


옵티마이저의 종류