
백엔드
토니모리 공식몰 API 응답시간 2차 개선기 (SQL 실행계획 최적화 및 index)
두줄요약
토니모리 공식몰 API의 응답 시간을 개선한 사례를 다뤘습니다. COUNT(*)를 EXISTS로 바꾸고 인덱스를 추가해 조회 성능을 높였습니다.
핵심 내용
- 토니모리 공식몰 API 성능 개선 사례로, SQL 실행계획 최적화와 인덱스 적용을 통해 응답 시간을 줄인 과정
- 구매 내역 존재 여부 확인 쿼리는 COUNT(*) 대신 EXISTS로 변경해 불필요한 집계와 전체 탐색을 줄임
- 리뷰 썸네일 조회는 적절한 인덱스 추가와 조인 전 필터링으로 스캔 범위와 연산 비용을 감소시킴
- 결과적으로 각각 약 20%, 50% 이상 응답 속도 개선을 확보
적용해볼 점
- 존재 여부 확인에는 COUNT(*)보다 EXISTS 검토
- 조건 필터가 많은 조회에는 인덱스 설계와 실행계획 확인 필요
- ROW_NUMBER, 조인, 정렬이 섞인 쿼리는 필터링 순서와 인덱스 활용 여부 점검
