sagecode 님의 블로그

  • 홈
  • 태그
  • 방명록

fetch 1

[Interview Question] N+1 문제란 무엇이며, 어떻게 해결할 수 있나요?

N+1 문제는 JPA같은 ORM에서 자주 발생하는 문제입니다. 한 번의 쿼리를 실행해서 엔티티 리스트를 가져온 다음 그 엔티티와 연관된 데이터를 조회하려고 접근할 때 엔티티 개수만큼 추가로 쿼리가 실행되는 문제입니다. 원래는 쿼리 한 번이면 충분한 작업이 N+1번의 쿼리로 나누어 실행되어 불필요한 DB 부하가 발생하는 것이 N+1 문제입니다. ORM은 성능 이슈로 인해 기본원칙이 지연 로딩(lazy loading)입니다. 즉시 연관 엔티티를 가지고 오지 않고, 실제로 접근하는 시점에 쿼리를 날려 데이터를 조회합니다. 데이터 수가 많아질수록 조회 횟수가 늘어나므로 네트워크 왕복 비용, DB 부하, 메모리 사용량 등이 커져서 성능 병목이 발생합니다. N+1 문제 해결방법은JPQL에서 JOIN FETCH를 사..

Interview Question 2025.09.02
이전
1
다음
더보기
프로필사진

sagecode 님의 블로그

sagecode 님의 블로그 입니다.

  • 분류 전체보기 (109)
    • JAVA (20)
    • SPRING (9)
    • OS (3)
    • Network (4)
    • DATABASE (3)
    • 자료구조 (5)
    • Interview Question (41)
    • EduClass Project (8)
    • ShoppingMall Project (4)
    • 멋사 부트캠프 (12)

Tag

GoF, HTTP, Entity, springboot, JPA, 의존성주입, 다형성, sagecode, https, Gradle, Java, stack, controller, 디자인패턴, 상속, Spring, heap, 자료구조, bean, 스레드,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

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

티스토리툴바