모르는것 투성이다.

  • 홈
  • 공부
  • 일상

fetchjoin 1

[JPA] N+1에 대하여

1번의 쿼리를 날렸는데 조회된 데이터 갯수(N) 만큼 쿼리를 추가 실행하는 것. 일대다 혹은 다대일 관계를 조회 할 때 발생 할 수 있다. 하위 엔티티들을 첫 쿼리 실행시 한번에 가져오지 않고, Lazy Loading으로 필요한 곳에서 사용되어 쿼리가 실행될때 발생하는 문제. 해결방법1. Fetch JoinN+1 자체가 발생하는 이유는 한쪽 테이블만 조회하고 연결된 다른 테이블은 따로 조회하기 때문이다.미리 두 테이블을 JOIN 하여 한 번에 모든 데이터를 가져올 수 있다면 애초에 N+1 문제가 발생하지 않을 것이다. 단점쿼리 한번에 모든 데이터를 가져오기 때문에 JPA가 제공하는 Paging API 사용 불가능(Pageable 사용 불가)1:N 관계가 두 개 이상인 경우 사용 불가패치 조인 대상에게 별..

간단이론정리/JPA 2024.07.26
이전
1
다음
더보기
프로필사진

모르는것 투성이다.

즉흥적으로 살아가자

  • 분류 전체보기 (22)
    • 일상 (2)
    • 공부 (1)
    • 간단이론정리 (7)
      • JAVA (7)
      • SPRING (2)
      • DB (1)
      • JPA (2)

Tag

Spring, jpa, 그라운드시소 센트럴, java, JDK17, java17, fetchjoin, 제어역전, 제어의역전, jdk, entitygraph, 트랜잭션격리수준, 간단정리, 영속성컨텍스트, Java11, n+1, 그라운드시소센트럴, JDK11, 그라운드시소, 웨스앤더슨2,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

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

티스토리툴바