작성
·
135
0
강좌 너무 잘 듣고 있습니다.
JPQL 서브쿼리 강좌를 듣고 있는 중인데, 예제로 드신 query들을 보다가 궁금증이 생겨 문의드립니다.
아래 2가지 쿼리는 결과적으로 같은 결과를 주게 되는데
String query1 = "select m from Member m join m.team t where t.name = 'TeamA'";
String query2 = "select m from Member m where exists (select t from m.team t where t.name = 'TeamA')";
2가지 쿼리는 성능상 어떤 차이가 있나요?
그리고 검색시 2가지 중 실무에서 더 권장하는 방식이 있을까요? 여러가지 상황에 다를 것 같긴 합니다만...
답변 1
0
안녕하세요 JPark님^^
사실 2번 방법은 exists 예시를 위한 내용이고 가급적이면 1번을 사용하시는게 더 나은 선택입니다^^
1번이 일반적인 DB들이 더 최적화 하기 좋습니다.
2번이 왜 안좋은지는 correlated subquery로 검색해보시면 원하는 결과를 얻으실 수 있을꺼에요^^
감사합니다.