컬렌션(일대다) SELECT 시, 주의점과 성능 최적화
컬렉션 조회의 문제점 일대다 관계의 컬렉션을 조회하게 될때 데이터는 기준 데이터(루트)보다 훨씬 많은 양의 데이터가 조회될 수 있다. 데이터 양도 문제지만 루트를 기준으로 페이징을 해야할때 데이터가 더 많아지기때문에 페이징이 불가능해진다. 컬렉션 조회 개선점 1. N+1 문제를 해결하기 위해 fetch조인을 고려하자 일대다 관계는 지연로딩을 기본으로 두고 있다. 루트를 조회하고 그 결과 개수에 따라 데이터를 가져오기 위해 프록시를 강제 초기화를 N번 수행하게 된다. 루트의 결과 데이터 개수에 따라 DB와의 커넥션 작업이 많아지게 되고 성능을 악화시키기 때문에 fetch 조인을 사용하여 한번의 쿼리로 데이터를 엔티티에 바인딩해주는 방법을 고려해보자. 일대다 관계이기 때문에 루트 데이터를 기준으로 엔티티를 ..
2021.02.04