엔티티 조회
엔티티를 조회해서 그대로 반환: V1
// 엔티티 스펙이 변할경우, API 스펙도 변환됨
엔티티 조회 후 DTO로 변환: V2
//API 스펙에 맞게 DTO로 변환해서 사용
페치 조인으로 쿼리 수 최적화: V3
//여러 테이블 조인할 경우 성능 안나올 때 이용
컬렉션 페이징과 한계 돌파: V3.1
hibernate.default_batch_fetch_size
, @BatchSize
로 최적화V4 방식
을 그대로 사용하면, 쿼리가 총 1 + 1000번 실행된다. 여기서 1은 Order 를 조회한 쿼리고, 1000은 조회된 Order의 row 수V5 방식
으로 최적화 하면 쿼리가 총 1 + 1번만 실행된다. 상황에 따라 다르겠지만 운영 환경에서 100배 이상의 성능 차이가 날 수 있다.hibernate.default_batch_fetch_size
, @BatchSize
로 최적화