[ClimPick] 느린 쿼리를 찾아 개선하자 - Performance Schema/EXPLAIN ANALYZE로 병목 찾기(개선한건 없지만 배웠다...//)
개발자로서 DB 성능을 개선한다고 하면 어떤 방법들이 떠오를까? 인덱스 추가하기, N+1 문제 해결하게, 불필요한 데이터 조회 제거하기, 집계 쿼리 개선하기 등등이 있을 것이다. 그럼 어떤 쿼리에 대해 개선을 진행해야할까? 당연히 실제로 느린 쿼리를 찾아서 개선해야한다. MySQL의 Performance Schema에서는 실행된 SQL의 성능 통계를 확인할 수 있다. 이를 활용해서 코드만 보고 병목을 예상하는 것이 아니라, 실제 실행 통계를 바탕으로 성능 개선이 필요한 쿼리의 후보를 찾을 수 있다. 이번에는 ClimPick의 테스트 환경에 실제 서비스보다 큰 규모의 데이터를 생성하고 Performance Schema로 병목 후보 탐색 -> EXPLAIN ANALYZE로 실행계획 분석 -> 인덱스 및 쿼..