[Spring JPA] JPA N+1 문제: 왜 발생하고, 어떻게 제어해야 하는가
1. 왜 N+1을 반드시 알아야 할까JPA를 쓰다 보면 쿼리는 한 번 날렸는데 왜 DB 로그에 수십, 수백 개의 쿼리가 찍히는 상황을 반드시 겪게 된다.하나의 쿼리로 데이터를 가져온 뒤 연관된 데이터를 조회하기 위해 추가로 n개의 쿼리가 실행되어 총 1+n개의 쿼리가 나가는 현상이게 바로, N+1 문제고, 개발 환경에서는 티가 안 나다가 프로덕션 환경에서 트래픽이 몰리는 순간 DB 부하 -> 응답 지연 -> 장애로 직결될 수 있다는 점이다. 따라서 N+1 문제는 알면 좋은 개념이 아니라, ORM을 사용하는 개발자라면 반드시 이해하고 통제해야 하는 함정이다...2. N+1 Select 문제2.1 N+1 문제란?특정 엔티티를 조회하는 쿼리 1번해당 엔티티가 가진 연관관계를 조회하기 위한 쿼리 N번1+N 문제..
2026.01.12