실행 계획 분석·인덱스 설계·쿼리 재작성으로 SQL 성능 튜닝 결
SQL 튜닝 경험에서 가장 먼저 확인하는 것은 실행 계획입니다. EXPLAIN 명령으로 쿼리가 어떤 순서로 실행되는지를 보면 풀 스캔이 발생하는 지점을 빠르게 찾을 수 있고, 인덱스가 타지 않는 이유도 파악됩니다.
인덱스 설계가 성능에 가장 큰 영향을 줬습니다. WHERE 절과 JOIN 조건에 자주 등장하는 컬럼에 인덱스를 추가하면 조회 속도가 크게 달라졌고, 반대로 쓰기가 많은 테이블에 인덱스가 과도하면 INSERT 성능이 오히려 저하되는 경우도 경험했습니다.
쿼리 자체를 재작성하는 것도 효과적이었습니다. 서브쿼리 대신 JOIN으로 변경하거나 불필요한 DISTINCT를 제거하는 것만으로도 실행 시간이 줄었습니다. N+1 패턴이 숨어 있는 경우는 ORM 레이어를 검토해 한 번의 쿼리로 묶는 방식으로 해결했습니다.