지수의 개발 기록장

고정 헤더 영역

글 제목

메뉴 레이어

지수의 개발 기록장

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (43)
    • 토론, 독서 (3)
    • 프로그래밍 (37)
      • AWS (2)
      • JPA (2)
      • Python (6)
      • 기타 (5)
      • Architecture (16)
      • kubernetes (3)
      • kotlin (1)
      • kafka (2)

검색 레이어

지수의 개발 기록장

검색 영역

컨텐츠 검색

jpql

  • [JPA] N+1 조회 문제와 해결방법

    2020.07.10 by jisooo

[JPA] N+1 조회 문제와 해결방법

JPA의 N+1 조회 문제란? 예시) SQL 1번으로 100명의 회원을 조회하였는데, 각 회원마다 주문한 상품을 추가로 조회하기 위해 100번의 SQL을 추가로 실행하는 상황을 말한다. 한번 SQL을 실행해서 조회된 결과 수만큼 N번 SQL을 추가로 실행한다고 해서 N+1 문제라 한다. N+1 문제는 엔티티 글로벌 페치전략에 즉시 로딩을 사용할 때 발생할 수 있다. JPA를 사용하면서 성능상 가장 조심해야 하는 문제가 바로 N+1 문제이다. em.find()메소드로 엔티티를 조회할 때 연관된 엔티티를 로딩하는 전략이 즉시 로딩이면 데이터베이스에 JOIN 쿼리를 사용해서 한 번에 연관된 엔티티까지 조회한다. Order order = em.find(Order.class, 1L); // 즉시로딩으로 위 엔티티..

프로그래밍/JPA 2020. 7. 10. 00:46

추가 정보

인기글

최신글

페이징

이전
1
다음
GITHUB
지수의 개발 기록장 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바