FULL OUTER JOIN vs UNION ALL 테이블 합치기 성능 문의 1

by kskim [SQL Query] [2023.07.10 14:10:18]


안녕하세요. 처음 글을 써보는 제조회사 IT운영 신입개발자입니다.

쿼리를 짜다가 두가지 아이디어가 생각나서 문의 드립니다.

자재에 대한 실적 테이블과 생산 테이블이 있습니다. 두 테이블을 합쳐서 화면에 출력하는 GUI 테이블을 만들려고 하는데요.

첫번째 방법은 FULL OUTER JOIN을 활용하는 방법이고,

두번째 방법은 UNION ALL을 한 결과에 GROUP BY로 묶어주는 방법입니다. 

쿼리를 수행한 결과는 동일하고 속도도 유사하게 나오는 것은 확인했는데, 혹시 둘 중에 어떤 것이 적합한 방법인지 문의 드립니다.

두 방법보다 추천하시는 다른 방법이 있다면 알려주시면 감사하겠습니다.

 

by 마농 [2023.07.10 16:20:28]

full outer join 이 내부적으로 동작할 때
예전 버전에서는 union all 방식으로 동작했는데.
요즘 버전에서는 full outer join 방식으로 동작하는 걸로 알고 있습니다.
좀 더 효율적인 방식으로 진화했다고 볼 수 있습니다.
다만, 인덱스정보 등 여러가지 상황을 고려해 봐야 하겠지요.
속도 차가 없다면? 가독성이 좋은 것을 선택할 것 같습니다.
그리고 구현 방식만 기술하셨는데. 실제 구현된 코드를 봐야 비효율을 찾을 수 있을 것 같습니다.


by kskim [2023.07.11 13:33:43]

아 몰랐던 내용이네요. 가독성 좋은걸로 선택하겠습니다. 더 열심히 해야겠네요 ㅎㅎㅎ.

알려주셔서 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입