Backend/Spring
2022. 4. 26.
Spring JPA - N+1 문제 정리
1. N+1 문제란 ? 연관 관계에서 발생하는 이슈로 연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n) 만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오게 된다. - 예시 위와같이 ORDERS와 MEMBER 가 n:1매핑, DELIVERY와 1:1매핑이라고 가정했을 때 // 엔티티를 DTO로 변환 public ListordersV2(){ List orders= orderRepository.findAll(); // 초기 1번 조회 Listresult = orders.stream() //order -> member 지연 로딩 조회 N번 + order -> delivery 지연 로딩 조회 N번 .map(o -> new SimpleOrderDto(o)) //dto에서 name = o..