이번 API 개발 고급 - 컬렉션 조회 최적화를 쭉 들으면서 생긴 고민입니다.
V1 ~ V3 까지의 각각의 명확한 차이점과 최적화 과정에 대해 이해하고 왜 이렇게 사용하는지에 대략적으로 이해하였습니다.
반면에 V4, V5, V6의 경우 DTO를 직접 조회를 통해 쿼리문의 간소화를 진행시키는 방법으로 최적화를 진행하는 것에 배웠는데
질문 1) 최종적인 실무에서는 V3.1의 fetch join 방식과 DTO를 통해 최소한의 쿼리 줄이는 방식 중 어느 것이 더 대중화된 방식인지 궁금합니다.
질문 2) 명확히 정해진 방식이 없다면 어느 부분에서는 fetch join 방식이 유용한지 dto 방식이 유용한지 아직 잘 이해가 되지 않습니다. 관련 지식을 학습할만한 검색 키워드를 알려주실수 있으신가요?
안녕하세요. 재성님, 공식 서포터즈 y2gcoder입니다.
키워드는 잘 생각나지 않지만 저는 fetch join / dto 방식을 선택할 때, 해당 쿼리 결과를 어디에 이용할 것인지에 대해 고민해보는 것 같습니다. 보통 fetch join을 사용한 방식은 해당 엔티티 그래프를 이용할 수 있기 때문에, 조회 후에 해당 엔티티를 이용해 어떤 비즈니스 로직을 처리해야 한다면 fetch join을 고려하는 것 같습니다. 반대로 조회 후 단순히 화면에 뿌려주기만 한다면 dto를 사용할 수 있다고 생각합니다.
대중화된 방식은 따로 없다고 생각합니다. 두 방법 모두 실무에서 곧잘 사용하는 방식입니다. 두 방법 모두 숙지하고 실무에서 사용하시다 보면 어떤 상황에서는 fetch join을 사용하고, 어떤 상황에서는 dto를 사용하면 되겠다 하는 감이 오는 것 같습니다!
감사합니다.
답글
재성
2023.12.06그렇군요 비지니스 방식에 따른 결정하는 기준을 고민해보며 공부해보겠습니다 감사합니다.