본문 바로가기
Stack/Spring

N+1 문제 해결로 쿼리 성능 개선하기

by 김코딩개발자 2022. 8. 11.

jmeter 테스트 표본

위사진처럼 연관관계가 있는 테이블을

이렇게 조회를 했을때

사용하지는 않지만 연관관계가 있는 테이블을 모두 조회하게 되므로 비교적 지연이 걸리게된다

적용 이전의 지연시간이었다 



일단 @Many to One/ @One To Many 연관관계 테이블에서의 어노테이션에

Fetch Type 을 Lazy로 잡아준다

Fetch.lazy 는 지연로딩이라는 의미이다 이렇게 실행을 하게되면
Post 조회시 User에 대한 메소드가 필요가 없어서

하이버네이트가 join 또한 하지 않고, post에 대한 select 쿼리문만 날린 것을 볼 수 있다!

Fetch Join 사용

batch.fetch 사용

개선결과
추후 작성예정