JOIN 사용 방식 관련 질문입니다... 0 2 1,675

by 광훨 [2014.08.26 14:10:08]


저는 보통 조인문 작성을

SELECT A.AA,A.BA,B.CB
FROM
(
SELECT AA,BA FROM WHERE W='A'
)A,
(
SELECT AA,CB FROM WHERE W='A'
)B
WHERE A.A = B.A

이런식으로 작성합니다. 개인적으로 알아보기가 쉬워서요...

그런데, 개발되어있는 쿼리들을 보면

SELECT A.AA,A.BA,B.CB
FROM
T1 A
INNER JOIN
T2 B
ON A.AA = B.AA
WHERE A.W='A'
AND B.W='A'

이런식으로 많이 쓰더라구요.

두가지 쿼리에 속도라든지.. 어느 부분에 차이가 있어 다르게 쓰는건가요?

by 이티 [2014.08.26 14:33:00]

명시적 조인과 암시적 조인의 차이이며 둘의 성능은 차이가 없는 것으로 알고 있습니당.

JOIN 구문을 이용하여 작성하는 명시적 조인으로 작성 하면 단순질의인지 조인질의 인지

개발자가 구분하기 쉬워 명시적 조인으로 작성하는것으로 알고 있습니다.


by 마농 [2014.08.26 14:37:29]

1번 의 경우는 쓸데없이 인라인뷰를 사용한 경우입니다.
굳이 인라인뷰를 사용할 필요가 없습니다.
실제 동작할때는 쿼리변형에 의해 인라인뷰가 사라집니다.
2번의 경우는 1번의 인라인뷰를 없애고 ANSI 표준 SQL 조인을 사용한 경우입니다.


○ 인라인뷰 사용 여부에 따른 성능차이
 - 어차피 내부적으로 인라인뷰가 사라지게 될것이므로 성능차 없구요.
○ ANSI 표준 사용여부에 따른 성능차이
 - 문법만 다를 뿐, 내부 동작은 같습니다. 따라서 성능 차 없습니다.

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