공대생 공부일지

  • 홈
  • 태그
  • 방명록

jpa #페치조인 #페이징 #batch 1

[JPA] API 개발과 성능 최적화 3 (페이징과 한계 돌파)

컬렉션을 페치 조인하면 페이징이 불가능하다. 오더와 아이템이 일대다의 관계고, 현재 페치조인을 한 상태라고 생각해보자 우리는 페이징을한다면 오더를 기준으로 페이징을 해야한다. 그러나 데이터는 다(Many), 즉 Item을 기준으로 row가 생성된 상태다.  그러니 이 상황에서 페이징을 하면 오더가 기준이 아닌 Item이 기준이 된다. 이 경우 하이버네이트는 order를 기준으로 페이징을 하기 위해 경고 로그를 남기고 모든 DB 데이터를 읽어 메모리에서 페이징을 시도한다. 그러면 페치 조인 상황에서 페이징을 하려면 어떻게 해야할까? 해결 방법먼저 ToOne 관계의 모든 엔티티를 페치조인 한다. (ToOne 관계는 row 수를 증가시키지 않기 때문)컬렉션은 지연 로딩으로 조회한다.지연 로딩 성능 최적화를 위..

spring/JPA 2024.08.11
이전
1
다음
더보기
프로필사진

공대생 공부일지

인생이란 무엇인가

  • 모든 글 (202)
    • ☃️❄️개발일지, 트러블슈팅❄️☃️ (9)
    • AWS (34)
    • spring (24)
      • JPA (11)
      • spring security (13)
    • APM (5)
      • Scouter (5)
    • Language (3)
      • Java (3)
    • CS (11)
      • 운영체제 (0)
      • 컴퓨터 네트워크 (3)
      • 데이터베이스 (8)
    • Tools & Libraries (16)
      • Querydsl (11)
      • WebRTC (1)
      • CoolSMS (1)
      • redis (3)
    • 코딩 테스트 연습 (82)
      • 프로그래머스 (13)
      • 백준 (69)
    • 자격증 (16)
      • 정보처리기사 (9)
      • AWS Certified Developer - A.. (7)
    • KB IT's Your Life (1)

Tag

후기, 백준 #, Java, AWS, SQL, spring security, 김영한 #spring #querydsl, 자바, 오답노트, 백준, 프로그래머스, JPA, 김영한 #spring, Spring, Scouter, 정보처리기사, querydsl, 스카우터, aws certified developer - associate, 문제은행,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • 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.

티스토리툴바