SQL 튜닝의 장점
1.시스템 변경 없이 성능을 개선할 수 있다.
2.근본적인 문제를 해결하는 방법이 SQL 튜닝일 가능성이 높다.
MySQL 구조
- 클라이언트가 DB에 SQL 요청을 보낸다
- MySQL 엔진에서 옵티마이저가 SQL문을 분석한 뒤 빠르고 효율적으로 데이터를 가져올 수 있는 계획을 세운다.
- 옵티마이저가 세운 계획을 바탕으로 스토리지 엔진에서 데이터를 가져온다.
- MySQL 엔진에서 정렬,필터링 등의 마지막 처리를 한 뒤에 클라이언트에게 SQL 결과를 응답한다.
SQL 튜닝의 핵심
- 스토리지 엔진에서 데이터를 찾기 쉽게 바꾸기
- 스토리지 엔진으로부터 가져오는 데이터의 양 줄이기
인덱스
데이터를 빨리 찾기 위해 미리 특정 컬럼을 기준으로 정렬해놓은 표
- PK는 인덱스가 기본적으로 적용된다.
- PK는 인덱스가 적용되어 있으므로 PK를 기준으로 데이터가 정렬된다.
Reference
MySQL 성능최적화