JPQL

Dev/JPA

[강의정리] N+1 문제와 JPQL fetch join을 통한 해결

출처: 자바 ORM 표준 JPA 프로그래밍 N + 1 문제 N + 1 문제는 내가 예상했던 것보다 훨씬 많은 쿼리가 나가는 문제를 뜻한다. 여기서 1은 내가 예상한 (당장 보이는) 하나의 쿼리이고, N은 데이터의 개수 N만큼 발생하는 예상치 못한 쿼리이다. 다양한 예시 Member 엔티티와 Team 엔티티가 있다고 가정하자. 이들은 다대일 관계이며, Member에서 Team을 참조할수있다. 이런 상황에서 Member를 조회해보자. 1. em.find()로 조회 연관관계 매핑 시, 즉시 로딩으로 했는지, 지연 로딩으로 했는지가 중요하다. 즉시 로딩으로 설정시, 쿼리가 나갈때 즉시 로딩으로 설정된 엔티티들을 전부 조인해서 가져온다. 지연로딩으로 설정시, 쿼리가 나갈때 일단은 조회한 엔티티 자체만 가져온다. ..

ChoiBulldog
'JPQL' 태그의 글 목록