Skip to content

[PRODUCT-191] [Refactor] 가게 조회 N+1 문제 해결 #91

@leegwichan

Description

@leegwichan

🏷️ 상위 작업 (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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions