728x90

- DTO로 반환하지만, 쿼리가 너무 많이 실행된다.
- order 조회 1번(order 조회 결과 수가 N이 된다.)
- order -> member 지연 로딩 조회 N 번
- order -> delivery 지연 로딩 조회 N 번
- 예) order의 결과가 4개면 최악의 경우 1 + 4 + 4번 실행된다.(최악의 경우)
- 지연 로딩은 기본적으로 영속성 컨택스트를 먼저 탐색하기 때문에 만약 해당 데이터가 영속성 컨택스에 있다면 쿼리를 생략한다.
- Eager로 변경해도 성능 향상을 기대할 수 없다(성능이 너무 안 좋아진다)
- 엔티티를 DTO로 변환하는 일반적인 방법이다
728x90
'실전! 스프링 부트와 JPA 활용2(API 개발과 성능 최적화)' 카테고리의 다른 글
| Ch03. API 개발 고급(지연 로딩과 조회 성능 최적화) - 간단한 주문 조회 V4(JPA에서 DTO로 바로 조회) (0) | 2021.12.20 |
|---|---|
| Ch03. API 개발 고급(지연 로딩과 조회 성능 최적화) - 간단한 주문 조회 V3(Entity -> DTO로 변환(페치 조인 최적화)) (0) | 2021.12.20 |
| Ch03. API 개발 고급(지연 로딩과 조회 성능 최적화) - 간단한 주문 조회 V1(엔티티를 직접 노출) (0) | 2021.12.20 |
| Ch02. API 개발 고급(준비) - API 개발 고급 소개, 조회용 샘플 데이터 입력 (0) | 2021.12.20 |
| Ch01. API 개발 기본 - 회원 조회 API (0) | 2021.12.19 |