https://github.com/7IEON/SQLtune

위 레포의 데이터를 통해 SQL 성능 튜닝을 학습 / 진행하였다.

1. 튜닝 준비하기

SELECT COUNT(1) FROM 테이블명; 통해서 각 테이블의 데이터 건수와 값 확인 가능

SHOW INDEX FROM 테이블명; 통해서 인덱스 확인 가능

SQL 튜닝 절차

  1. SQL 문 실행결과 및 현황 파악 (결과 및 소요시간, 조인/서브쿼리 구조, 동등/범위 조건)
  2. 가시적, 비가시적 나눠서 생각
  3. 튜닝 방향 판단 & 개선 및 적용

2. SQL문 단순 수정으로 착한 쿼리 만들기

사용하지 않는 구문 / 불필요한 구문 있는지 확인 후 SQL 튜닝 수행

문제가 되는 쿼리 기본적인 실행 계획 / 소요시간 확인 후 튜닝 수행구문 에서 쿼리 튜닝의 방향성 유추하거나 테스트 수행 → 튜닝된 SQL문을 튜닝 결과 단계에서 검증

(1) 기본키를 변형하는 나쁜 SQL 문

SELECT * FROM 사원 WHERE SUBSTRING(사원번호,1,4)=1100 AND LENGTH(사원번호)=5

Untitled

튜닝 전 실행 계획

Untitled