<aside>
목차
</aside>

<aside> ✏️
MySQL의 아키텍처를 간단하게 표현하자면 위와 같다.
해당 아키텍처에서 SQL문이 어떻게 실행되는 지 과정을 알아보자.
</aside>
클라이언트가 DB에 SQL 요청을 보낸다.
MySQL 엔진에서 옵티마이저가 SQL문을 분석한 뒤 빠르고 효율적으로 데이터를 가져올 수 있는 계획을 세운다.
optimization: 최적화
옵티마이저가 세운 계획을 바탕으로 스토리지 엔진에서 데이터를 가져온다.
MySQL 엔진에서 정렬, 필터링 등의 마지막 처리를 한 뒤 클라이언트에게 SQL 결과를 응답한다.
<aside> ✏️
SQL 튜닝에 있어 핵심은 아래 2가지이다.
위 2가지를 적용하기 위해 가장 많이 활용되는 방법이 인덱스 활용이다.
단순히 인덱스만 적용한다고 해서 무조건 해결되는 게 아니다. 인덱스를 ‘적절하게’ 활용해야만 DB 성능이 개선된다. 이 방법에 대해 깊이 있게 다루기 전에 ‘인덱스’라는 개념에 대해 학습이 필요하다.