Outer join은 Driving table과 Driven table 둘 다 메모리에 올려서 사용한다. 하지만 Inner join은 Driving table만 메모리에 올려서 연관된 데이터를 조회하기 때문에 Inner join의 성능이 더 우수하다.
Inner join은 Driving table만 메모리에 올리고 연관관계로 가져온다. 하지만 연관관계가 없다면 두 테이블의 교집합을 찾기 때문에 결과는 빈 결과가 된다. 때문에 조건에 부합하지 않는 레코드도 가져오는 Outer join 보다는 성능이 좋다고 할 수 있다.
상황에 따라 다르다. Outer join은 연관된 데이터가 없는 경우 혹은 NULL을 가져와야 하거나 데이터를 분석하거나 두 테이블의 관계 등을 파악할 때 도움이 될 수 있다. 그게 아니라면 Inner join을 사용하는 게 성능적으로 더 이점이 있으니 필요에 따라 적절한 것을 사용하는 게 좋다.