🥅 목적 및 성과
- 목적 : 회원탈퇴시 약 56초가 소요되는 쿼리 실행 시간 개선
- 성과 :
- 과다한 JOIN문을 가진 단일 쿼리를 여러개의 JPA 메서드로 나눔으로써 약 56초에 0.1초로 쿼리 실행 시간 99.73% 개선
- 쿼리 플랜상으로도 단일 쿼리의 성능 문제 확인
🛠︎ 사용 기술
1️⃣슬로우 쿼리를 JPA 메서드로 리팩토링
- 리팩토링 전) Repository 계층 : 과다한 JOIN문이 포함된 단일 슬로우 쿼리 사용
- 리팩토링 후) Repository 계층 : 슬로우 쿼리 제거 후 여러 개의 JPA 메서드 사용
2️⃣리팩토링 전/후의 쿼리 실행계획 비교
- 리팩토링 전) 단일 슬로우 쿼리 실행 계획 분석 결과
- 리팩토링 후) 여러 개의 JPA 메서드 변환 쿼리 실행 계획 분석 결과