OUTER JOIN ? INNER JOIN ?

OH JU HYEON·2023년 9월 28일

DataBase

목록 보기
5/5

OUTER JOIN ? INNER JOIN ?

1. 차이가 뭘까?

Outer join은 Driving table과 Driven table 둘 다 메모리에 올려서 사용한다. 하지만 Inner join은 Driving table만 메모리에 올려서 연관된 데이터를 조회하기 때문에 Inner join의 성능이 더 우수하다.

2. 그럼 Inner join에서 연관관계가 없다면?

Inner join은 Driving table만 메모리에 올리고 연관관계로 가져온다. 하지만 연관관계가 없다면 두 테이블의 교집합을 찾기 때문에 결과는 빈 결과가 된다. 때문에 조건에 부합하지 않는 레코드도 가져오는 Outer join 보다는 성능이 좋다고 할 수 있다.

3. 그렇다면 둘 중 어떤 조인을 사용해야 하나?

상황에 따라 다르다. Outer join은 연관된 데이터가 없는 경우 혹은 NULL을 가져와야 하거나 데이터를 분석하거나 두 테이블의 관계 등을 파악할 때 도움이 될 수 있다. 그게 아니라면 Inner join을 사용하는 게 성능적으로 더 이점이 있으니 필요에 따라 적절한 것을 사용하는 게 좋다.

profile
읽기만 해도 이해가 되는 글을 쓰기 위해 노력합니다.

0개의 댓글