Skip to content

[REFAC] 게시글 공감 기능 다중 선택 허용에 따른 목록 조회 성능 최적화 #121

@gogori6565

Description

@gogori6565

❓ 어떤 리팩토링인가요?

  • 기존에 한 명의 사용자가 하나의 게시글에 여러 유형의 공감을 동시에 남길 수 있도록 구조를 변경함에 따라 발생한 데이터 조회 성능 저하(N+1 문제)를 해결하기 위해 Batch Fetching 전략을 도입합니다.

📝 리팩토링 설명

  • 목적: 시스템 성능 최적화 - 게시글 목록 조회 시 각 게시글마다 공감 여부를 개별 쿼리하던 방식을 개선하여 DB I/O 부하를 최소화
  • 해결책: 루프 내 개별 조회 방식에서 In-clause를 활용한 일괄 조회(Batch Fetching) 및 Map 기반 메모리 매핑 로직으로 전환

✅ TODO

  • LikeRepository에 In-clause 조회를 위한 findAllByMemberEmailAndPostIdIn 메서드 추가
  • PostService.getPostAll 내 루프 기반 상세 조회 로직 제거
  • Stream API와 Collectors.groupingBy를 활용한 공감 데이터 메모리 매핑 로직 구현
  • @Timer AOP를 활용하여 리팩토링 전/후 API 응답 속도 비교 및 기록

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions