fetch1 TIL : N+1 문제, Fetch 전략 (18) ☄️ N+1 문제 N+1 문제란? JPA를 사용할 때 흔히 발생하는 문제 중 하나이다. 1번의 쿼리로 N개의 데이터를 가져왔는데, 그 데이터들을 처리하기 위해서 N번의 쿼리가 더 발생하는 문제이다. 🧐 언제 발생하는 문제일까? 몇몇 블로그에서 Fetch 전략에 따라 발생하는 문제라고 작성되어있다. EAGER와 LAZY는 실제 데이터를 가져오는 시점의 차이이지 N+1 문제에 궁극적인 원인이 아니다. JpaRepository에 정의한 메서드를 실행하면 JPA는 메서드 이름을 분석해서 JPQL 쿼리를 생성해 실행한다. JPQL 객체지향 쿼리 언어로 테이블을 신경 쓰지 않고 엔티티와 필드만으로 쿼리를 생성한다. 따라서, N+1 문제는 JPQL이 연관관계를 무시하고 해당 엔티티만을 기준으로 쿼리를 조회하기 때문에.. 2022. 12. 7. 이전 1 다음