Q&A
batch size 와 Limit 질문입니다
안녕하세요! 답변 감사드립니다. 2 번에서 최근에 들어온 데이터들을 미리 캐싱하는 것처럼 사용하는 건 정말 좋은 아이디어 같습니다! 영한님 말씀을 듣고 1 번에 대해서 고민을 해보았는데 Fetch Join 에서는 Limit 가 적용 안되어서 Inner Join 과 Limit 을 함께 JPQL 로 작성했습니다. 혹시 다른 방법을 말씀하셨던 걸까요? @Repository public interface PostRepository extends JpaRepository { @Query(value = "SELECT p" + " FROM Post p" + " INNER JOIN Follow f" + " ON p.member.id = f.toMember.id" + " WHERE p.id findByJoinFollow(@Param("memberId") Long memberId, @Param("lastPostId") Long lastPostId, Pageable pageable); } @RequiredArgsConstructor @Service public class PostService { private final PostRepository postRepository; public List getFeeds(Long lastPostId) { PageRequest pageRequest = PageRequest.of(0, 5, Sort.by("id").descending()); return postRepository.findByJoinFollow(getCurrentMember().getId(), lastPostId, pageRequest); } } 최대한 간단하게 질문하려고 했었는데 오히려 질문의 목적을 파악할 수 없어 혼란만 드렸던 것 같네요 ㅠ 토이프로젝트로 진행 중인 건 인스타 클론 코딩이고 구현중인 API 는 인스타그램 처음 들어가면 나오는 첫 화면입니다. 인스타그램 첫 화면에서는 내가 팔로우 중인 모든 사람들의 게시글을 최신 순서대로 노출 하기 때문에 자칫 잘못하면 많은 데이터를 가져오게 되어 최적화 하는 방법을 고민해보던 중이었습니다. 영한님이 말씀해주신 대로 Inner Join 을 사용하니 List 나 List 를 DB 에서 많이 끌어오지 않고 처리할 수 있는 것 같아요! 자꾸 질문 드리는데 친절하게 답변해주셔서 감사합니다.
- Likes
- 0
- Comments
- 4
- Viewcount
- 1010

