n+1 문제
n+1 문제는 데이터베이스 쿼리 최적화와 관련된 성능 문제로, 주로 ORM(Object Relational Mapping) 프레임워크에서 발생한다. 간단히 말하면, 한 번에 해결할 수 있는 작업을 불필요하게 여러 번 쿼리하는 문제다. 기본 개념 n+1 쿼리는 특정 객체를 가져오고 관련된 객체를 로드할 때, 1개의 메인 쿼리로 상위 데이터를 가져온 후,n개의 추가 쿼리로 관련 데이터를 각각 개별적으로 가져오는 경우를 말한다.이로 인해 필요 이상으로 많은 데이터베이스 호출이 발생하게 되고, 성능 저하를 초래한다. 예제 게시글과 댓글이 1:N 관계에 있다고 가정하자. 그리고 게시글 리스트를 조회하면서 각 게시글에 달린 댓글도 가져오려는 경우를 생각해보자. 이때 n+1 쿼리가 발생할 수 있다.-- 1개의 메인 ..
2024.11.22