• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

distinct 질문 드립니다!

22.06.03 21:31 작성 조회수 183

1

일대다 컬렉션 페치 조인 조회의 경우 팀A인 멤버가 1, 2, 3이면 DB는 멤버를 기준으로 조인을 해서 팀A인 row가 3개가 생기고

하이버네이트는 이를 받아와서 리스트로 반환(getResultList)해줄 때 리스트에 팀 A 엔티티를 3개 담아줍니다.

여기서 각각의 엔티티는 PK 값이 같기 때문에 서로 같은 엔티티를 참조합니다. (이렇게 이해를 했습니다!)

그러면 쿼리 횟수에 영향을 주는 건 페치 조인이고, distinct는 리스트에 중복 엔티티만 제거하는 역할만 하는 것 같은데 (select 다음 distinct가 추가되는 것 외에는 차이가 없음) 속도적인 면에서는 별 차이가 없는 것이 맞을까요??

답변 1

답변을 작성해보세요.

2

안녕하세요. code-tree님

네 맞습니다. 성능에서는 거의 차이가 없다고 보시면 됩니다.

감사합니다.