반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JPA스터디
- querydsl
- JPA
- 스프링 공부
- 스프링부트
- nestjs
- 스프링부트공부
- 플러터 개발
- 자바공부
- 코테준비
- nestjs공부
- nestjs스터디
- Kafka
- DDD
- Flutter
- 프로그래머스
- 스프링
- JPA공부
- 스프링공부
- K8S
- 코테공부
- 기술공부
- 플러터 공부
- 자료구조공부
- 기술면접공부
- 알고리즘공부
- JPA예제
- Axon framework
- JPA 공부
- 카프카
Archives
- Today
- Total
목록JPA N+1 (1)
DevBoi
[JPA] N+1 문제란
N+1 문제는, JPA의 Entity 조회시, Query 내부에 존재하는 다른 연관관계에 접근할 때 또 다시 한번 쿼리가 발생하는 비효율적인 상황을 일컫는 말입니다. 1. 즉시 로딩 변경후, findAll로 조회하는 경우 OneToMany의 기본 로딩전략은 LAZY이지만, 해당 전략을 즉시로딩으로 변경하고 findAll을 하게되면, 하위 연관관계에 대한 전부를 조회해야하기 때문에 N+1이 발생할 수 있다. ex. Post와 comment인 경우 Post를 조회하고, 하위의 comment를 전부 조회한다. 즉, Post의 개수대로, comment를 조회하는 쿼리가 추가로 나간다. * 해결 방법 지연로딩으로 변경 2.지연 로딩 변경 + Loop 조회 findAll로 가져올때는 N+1 발생하지 않는다(지연 로..
Develop/[JPA]
2022. 3. 18. 00:45