Skip to content

refact : N+1 쿼리 최적화 #97

@GOOHAESEUNG

Description

@GOOHAESEUNG

개요

N+1 쿼리 문제를 해결하여 API 성능을 개선합니다.

문제점

  • 댓글 목록 조회 시 각 댓글마다 Member, Like 여부 개별 조회
  • 게시글 목록 조회 시 각 게시글마다 Like, Scrap 여부 개별 조회
  • 댓글 10개 조회 시 21개 쿼리 발생 (1 + 10 + 10)

해결 방안

  1. Fetch Join으로 연관 엔티티 한 번에 조회
  2. 배치 쿼리로 Like/Scrap 여부 한 번에 조회

수정 대상

  • CommentRepository: Fetch Join 추가
  • LikeRepository: 배치 조회 추가
  • ScrapRepository: 배치 조회 추가
  • CommentGetService: 배치 조회 로직 적용
  • PostRepository: Fetch Join 추가
  • PostUsecase: 배치 조회 적용

참고

  • docs/refactoring/001-n+1-query-optimization.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions