posts 리졸버
게시물 목록을 한 번에 읽고 각 항목에 authorId를
남깁니다.
부모 목록을 한 번 가져온 뒤, 각 부모의 관계 필드를 개별 조회하면 게시물 수만큼 사용자 조회가 추가됩니다.
posts 리졸버
게시물 목록을 한 번에 읽고 각 항목에 authorId를
남깁니다.
author 필드 리졸버각 게시물마다 별도 사용자 조회가 실행되어 같은 ID도 반복될 수 있습니다.
목록 크기와 관계 필드 수가 늘면 데이터베이스 부하가 빠르게 커집니다.
SELECT * FROM posts
게시물 3개 반환
findUser(101)
첫 번째 게시물 작성자
findUser(102)
두 번째 게시물 작성자
findUser(101)
이미 조회한 작성자도 다시 호출
문제는 GraphQL 자체보다 필드 리졸버 내부의 데이터 접근 방식에서 발생합니다.
같은 요청 안에서 필요한 사용자 ID를 모아 한 번의 배치 쿼리로 바꿉니다.
같은 ID는 재사용하되, 요청이 끝나면 캐시도 함께 사라져야 합니다.