JPA를 처음 배우고 신나게 프로젝트를 진행하다 보면, 어느 순간 이상한 현상을 마주하게 됩니다. 분명히 데이터를 한 번만 조회했는데, 콘솔에 SQL 쿼리가 수십 개씩 찍혀있는 거죠. "어? 나는 쿼리 하나만 날렸는데...?" 하고 당황하신 경험, 한 번쯤 있으실 겁니다.이것이 바로 그 유명한 N+1 문제입니다. JPA를 사용하는 개발자라면 반드시 이해하고 넘어가야 할 핵심 주제이기도 하죠. 오늘은 이 N+1 문제가 정확히 무엇인지, 왜 발생하는지, 그리고 어떻게 해결할 수 있는지 차근차근 알아보겠습니다.N+1 문제란?이름의 의미부터 이해하기N+1이라는 이름은 발생하는 쿼리의 개수에서 유래했습니다.1: 처음에 데이터 목록을 가져오는 쿼리 1개N: 목록의 각 항목(N개)마다 연관된 데이터를 가져오는 쿼리 ..