롯데온, Slow Query 최적화로 주문서 속도 UP!
by DD
1년 전
조회수 4
롯데온 주문서 진입 시 Slow Query로 인한 성능 저하 문제 발생
결합 인덱스 및 LIMIT 1 적용, SubQuery 제거를 통해 쿼리 최적화
논리 IO 50배 감소, 물리 IO 0회로 개선, 주문/결제 서비스 성능 향상
결합 인덱스와 클러스터링 팩터
결합 인덱스는 분포도가 넓은 컬럼의 문제를 해결하고, 클러스터링 팩터를 높여 디스크 I/O 횟수를 줄인다. 구체적으로, 회원번호와 인증일시를 결합하여 인덱스 레인지 스캔을 유도한다. 따라서, 쿼리 성능 향상과 데이터 접근 효율성을 동시에 달성한다.
인덱스를 활용한 정렬 최적화
ORDER BY 절에서 인덱스 사용을 유도하여 정렬 성능을 개선한다. 구체적으로, ORDER BY 회원번호, 인증일시 DESC를 통해 인덱스를 활용한 정렬을 수행한다. 반면, 정렬 크기가 클 경우 Sort Buffer를 사용하며, 디스크 I/O 발생으로 성능 저하를 야기한다.
스트리밍과 LIMIT 1의 효과
스트리밍 방식과 LIMIT 1을 통해 쿼리 실행 시간을 단축한다. 구체적으로, 스트리밍 방식은 데이터를 즉시 전송하여 대기 시간을 줄인다. 따라서, LIMIT 1을 통해 불필요한 데이터 조회를 방지하고, 서비스 응답 속도를 향상시킨다.