-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
🏷️ 상위 작업 (Ticket Number)
PRODUCT-119
🚀 구현 내용
문제 상황
- 가게 조회 시, 특정 가게의 최신 응원의 사진을 가게 1개마다 조회해서 가져온다
// TODO : N+1 문제 해결
public StoresResponse getStores(int size) {
return storeRepository.findAllByOrderByCreatedAtDesc(Pageable.ofSize(size))
.stream()
.map(store -> new StorePreviewResponse(store, getStoreImageUrl(store).orElse(null)))
.collect(collectingAndThen(toList(), StoresResponse::new));
}
private Optional<String> getStoreImageUrl(Store store) {
return cheerRepository.findRecentImageKey(store)
.map(imageService::getPresignedUrl);
}해결 방안
- 여러 N+1 문제 해결 방안 중, 현재 서비스 로직에 적합한 방향으로 해결한다.
📅 마감일
No response