1. 개발자가 DB에 SQL 요청을 보낸다.
2. MySQL 엔진에서 옵티마이저가 SQL문을 분석한 뒤 빠르고 효율적으로 데이터를 가져올 수 있는 계획을 세운다.
어떤 순서로 테이블에 접근할 지, 인덱스를 사용할 지, 어떤 인덱스를 사용할 지등
옵티마이저가 세운 계획은 완벽하지 않기 때문에 잘못된 최적화를 할 수 있어 SQL 튜닝이 필요하다.
3. 옵티마이저가 세운 계획을 바탕으로 스토리지 엔진에서 데이터를 가져온다.
DB 성능 문제의 대부분 원인은 스토리지 엔진에서 데이터를 가져올 때 발생한다. 데이터를 찾기 어렵거나 오래 걸리거나 등
그래서 SQL 튜닝의 핵심은 스토리지 엔진에서 데이터를 쉽게 찾을 수 있도록 그리고 적은 데이터를 가져올 수 있도록 수정해야한다.
4. MySQL 엔진에서 정렬, 필터링 등의 마지막 처리를 한 후에 클라이언트에게 SQL 결과를 응답한다.
'🖥️ Back > MySQL' 카테고리의 다른 글
대규모 데이터 생성 (0) | 2025.06.30 |
---|---|
인덱스 (0) | 2025.06.30 |
Entity 1:1, 1:N, M:N (0) | 2025.06.26 |
NOT EXISTS, EXISTS (0) | 2024.10.30 |
MAX (0) | 2024.08.14 |