테마
옵티마이저
옵티마이저(optimizer)는 같은 결과를 내는 여러 실행 방법 중 무엇으로 쿼리를 실행할지 정하는 MySQL의 두뇌다. 통계로 각 방법의 비용을 어림해 가장 싼 계획을 고른다. 사람이 그 선택을 바꿔야 할 때는 힌트(hint)로 개입한다.
학습 순서
- 쿼리 실행과 풀 스캔 — 쿼리 실행 절차, 규칙 기반과 비용 기반 옵티마이저, 스캔 방식 (면접 비중: 높음)
- 정렬·그룹·임시 테이블 — 파일소트(filesort), GROUP BY·DISTINCT 처리, 내부 임시 테이블(internal temporary table) (면접 비중: 높음)
- 조인 최적화 — NL(Nested Loop, 중첩 루프)·BKA(Batched Key Access, 배치 키 접근)·해시 조인(hash join)과 옵티마이저 스위치 (면접 비중: 높음)
- 쿼리 힌트 — 인덱스 힌트(index hint)와 옵티마이저 힌트(optimizer hint) (면접 비중: 중간)
