NEST · ORM

N+1 쿼리 before/after

목록 1번 조회 뒤 각 row마다 관계를 다시 조회하면 데이터가 조금만 늘어도 쿼리 수가 선형으로 폭증합니다.

쿼리 수 비교

query count
users: 1사용자 목록 한 번 조회
posts: N각 사용자마다 게시글 추가 조회
join/batch: 1~2관계 로딩 또는 DataLoader로 묶음
stable costrow 수 증가에도 왕복 수를 제한
users: 1posts: Njoin/batch: 1~2stable cost

N+1 쿼리 선택 기준

점검
항상 필요목록마다 쓰는 관계는 join/fetch join을 검토합니다.
조건부 필요필드 선택에 따라 DataLoader가 더 유연합니다.
페이지네이션join이 중복 row와 limit을 흔들지 않는지 봅니다.
로그 확인개발 환경 SQL 로그로 실제 쿼리 개수를 셉니다.