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
- @Transaction(readOnly=true)
- 성능테스트
- Cache
- JPA
- jdbc
- N + 1
- 데드락
- AWS
- Hibernate
- spring
- mockito
- 이펙티브 자바
- fetch join
- awspring
- Batch
- Cannotacquirelockexception
- OIDC
- Git
- spring-cloud-starter-aws
- 동시성
- MySQLTransactionRollbackException
- ngrinder
- batch insert
- @controller
- @RequestMapping
- assert
- Convention
- oauth2.0
- injellij
- 정적 팩터리 메서드
Archives
- Today
- Total
목록Batch (1)
정리정리
JPA N + 1 문제
이번 포스팅에서는 JPA와 같은 ORM에서 중요한 문제인 N + 1에 관해 알아보고, JPA에서 이를 해결하는 방법에 대해 포스팅을 해보겠습니다. N + 1 이란? 우선 N + 1 문제란, 어떤 엔티티를 조회할 때, 이와 연관관계가 있는 다른 엔티티를 조회하는 쿼리가 추가로 발생하는 현상을 말합니다. 이때 만약 처음 엔티티를 조회하는 쿼리의 결과가 N개라면, 각 N개의 엔티티와 연관관계를 가진 엔티티를 가져오기 위한 N번의 쿼리가 발생하기 때문에 N + 1 문제라고 불리는 것 같습니다. 간단한 예시로 다음과 같이 집사와 강아지가 일대다 관계에 놓여있다고 가정을 해보겠습니다. 이런 식으로 데이터가 있다고 가정을 했을 때, 집사를 조회하는 쿼리를 작성하면 다음과 같은 결과가 생기게 됩니다. #주인 3명 조회..
JPA
2023. 4. 11. 21:47