한눈에 정리
엔티티 조회
엔티티는 그대로 반환하지 말고 DTO로 변환해서 반환해라
컬렉션은 패치조인 하지말고 지연로딩을 유지후 BatchSize로 최적화해라
DTO 직접 조회
컬렉션은 IN 절을 이용해 메모리에 미리 조회해서 최적화해라
API 개발 순서
1. 엔티티 조회 방식으로 먼저 접근하기
1) 페치 조인으로 쿼리 수를 최적화한다.
2) 컬렉션을 최적화해라
1. 페이징이 필요하면 hibernate.default_batch_fetch_size 혹은 @BatchSize로 최적화해라
2. 페이징이 필요 없다면 페치조인을 사용해라
2. 엔티티 조회 방식으로 해결이 안되면 DTO 조회 방식을 사용해라
1) 컬렉션은 IN 절을 이용해 메모리에 미리 조회해서 최적화해라
3. DTO 조회 방식으로도 해결이 안되면 NativeSQL 이나 스프링 Jdbc Template 을 이용해라
'Web > JPA' 카테고리의 다른 글
[Data JPA] EP 1. 공통 인터페이스 기능 (0) | 2021.05.25 |
---|---|
EP5. OSIV와 성능 최적화 (0) | 2021.04.09 |
EP3. 컬렉션 조회 최적화 - 2 (JPA에서 DTO 직접조회) (0) | 2021.04.08 |
EP3. 컬렉션 조회 최적화 - 1 (0) | 2021.04.07 |
EP2. 지연 로딩과 조회 성능 최적화 (0) | 2021.04.06 |