Hello backEnd

  • 홈
  • 태그
  • 방명록

일대다 1

컬렉션 페치조인과 페이징 하기(feat. batch size)

디프만 프로젝트에서 댓글 관련 API중 하나를 담당했는데, 해당 내용은 어떤 맥주를 통해 이곳에 작성된 모든 기록들을 받아오고, 동시에 저장된 맛(최대 3개)를 가져와 보여준다. 그리고 여기 페이징을 적용한다. 였다. 즉 이 경우 기록 -> 맛을 가져올 때 일대다 조인이 생기게 된다. 맥주를 통해 기록을 가져옴(여기서 N개의 기록을 가져옴) 해당 기록에 있는 맛태그를 가져옴(최대 3개의 맛태그) 맛태그를 통해 맛을 가져옴(다대일) 2, 3번의 로직을 수행할 때에 문제가 여러개 생기게 된다. 먼저 일대다 조인의 경우 페치 조인만으로 페이징을 할 수 없다. 알다시피 일대다 조인을 페치조인하면 동일한 데이터가 여러 번 출력되어 데이터가 뻥튀기된다!! 그리고 비효율적인 쿼리가 생성되게 된다. 하나의 기록마다 맛..

이론 정리/Spring boot 2022.06.18
1
더보기
프로필사진

반응형
  • 분류 전체보기 (397)
    • 잡다한 기능들 (8)
      • DB (4)
      • javascript (2)
      • 백엔드 관련 (1)
    • 알고리즘 공부 (130)
      • 위클리 챌린지 (13)
      • COS Pro 1급 모의고사 답안 (11)
    • 백엔드 공부 (29)
      • Golang (3)
      • Spring Boot (15)
      • Git (1)
      • 에러정리 (3)
      • JSP (4)
    • 이론 정리 (166)
      • GraphDB (1)
      • java (60)
      • Spring boot (15)
      • 대규모 시스템 설계 (8)
      • Golang (7)
      • 인프라 (14)
      • HashiCorp (5)
      • Database (19)
      • 컴퓨터 구조 (7)
      • AI (3)
    • practice (2)
    • 기타 (37)
      • IT관련 정보 (8)
      • 일상 (26)

Tag

spring boot, Golang, 자바, 후기, Go, 오블완, 위클리, 고, 티스토리챌린지, solution, 풀이, 알고리즘, cos pro, BOJ, 프로그래머스, spring, java, jpa, 차이, 백준,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바