배워가는블로거

  • 홈
  • 방명록

JPA 성능 최적화 1

JPA의 N+1 문제, 왜 생기고 어떻게 해결할까?

오늘은 JPA를 사용한다면 반드시 알아야 하고, 자주 겪을 수 있는 N+1 문제에 대해 정리해보겠습니다. ▶️ N+1 문제란?쉽게 말하면, DB에서 1번만 가져오면 될 데이터를 여러 번에 걸쳐 조회하게 되는 현상입니다. 간단한 예를 들어 게시글 10개를 가져오면서, 각 게시글의 작성자 정보도 함께 조회한다고 해보겠습니다.- 게시글 1번 조회 → 작성자 1번 조회 (10개) → 총 11번 쿼리 실행. 이게 바로 N+1 문제입니다. (N+1은 "1개의 select + N개의 연관 select"의 의미입니다.) ▶️ 왜 발생할까?JPA는 객체지향스럽게 데이터를 가져오고자 지연 로딩(LAZY)을 기본으로 합니다.즉, 연관된 엔티티는 처음에 바로 가져오지 않고, 실제로 접근할 때 추가 쿼리를 날립니다. 게시글과 ..

Database 2025.06.13
1
더보기
반응형
프로필사진

관심분야에 대해 더 배워가고 있습니다.

  • 전체보기 (179) N
    • Backend Engineering (18) N
    • AI (14)
      • ML 기본 개념 (3)
      • Prophet (11)
    • Automation (3)
    • AWS (10)
    • CleanCode (12)
    • Database (5)
    • ITIL v3 (12)
    • Java (19)
    • JavaScript (15)
    • Linux (23)
    • OpenGL (11)
    • RabbitMQ (6)
    • Spring (10)
    • SoftWare (20)

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

Archives

Calendar

«   2025/06   »
일 월 화 수 목 금 토
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

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바