JPA에서 흔히 발생하는 N+1이란?
·
IT 지식 (기술면접 대비)
⭐️ N + 1 이란?JPA를 사용하다보면 예를들어 내가 쿼리를 1번만 날리게 설계를 했는데, 콘솔창을 보니까 3번이상이 찍히는 경우를마주칠 수 있을 것이다. 이를 N+1문제라고 부르는데, 하나의 쿼리를 실행한 후 추가로 N개의 쿼리가 실행되는 상황을 의미한다. [ N + 1 개념 ] List teams = teamRepository.findAll(); // 1번 쿼리for (Team team : teams) { System.out.println(team.getMembers()); // N번 쿼리 발생} 위의 코드를 보자. findAll(); 메서드는 전체팀을 한번 조회한다 -> 쿼리 1번 team.getMembers(); 메서드는 각 팀의 멤버를 조회하면서 출력한다 -> 팀 수만큼 쿼리를 발생..