database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1811 게시물 읽기
No. 1811
INNER JOIN 과 OUTER JOIN 간의 차이...?
작성자
정원식(daehyub)
작성일
2005-03-09 10:58
조회수
7,479

본래 OUTER JOIN 의 사용경우가 아니라

INNER JOIN이 가능한 테이블간의 관계에서

INNER JOIN 을 사용하는 것과 OUTER JOIN을 사용하는 것 과의 속도에

차이가 있는지 궁금합니다.

 

일반적으로 제가 알고있기로는 INNER JOIN이 빠르다고 알고있는데

정확히 어떨지? 다른 분들의 생각을 알고 싶습니다.

이 글에 대한 댓글이 총 4건 있습니다.

흠.. 먼저 inner join, outer join에 대한 차이를 고려하지 않고 속도를 고려한다는 것은

속도위반이 아닐까 합니다.

A_table

a    b

_________

가  1

나  2

다  3

 

B_table

a   c

_________

가  A

나  B

라  D

있다고 가정하구요.  B_table의 a 칼럼은 A_table의 a칼럼을 참고한다고 할께요 (흔히들 FK라는 말을 하고 Reference라고들도 하던데..)

먼저 inner join을 하게 되면

select at.*, bt.* from A_table as at

      inner join B_table bt on At.a = bt.a

 

그리고 left(right) outer join을 하게 되면

select at.*, bt.* from A_table as at

     Left(right) outer join B_table on At.a = bt.a

(left, right는 각각 실행해 보셔야 합니다. )

 

결과는 각각 어떻게 다른가요?

그 차이를 본다면 inner join과 outer join에 속력을 묻는 것은 조금 다른 각도가 아닌가 합니다.

만약 두 명령으로 인해 생기는 결과가 같다면 조금 다른 문제겠지만요 ^^

 

 

여리님이 2005-03-09 15:45에 작성한 댓글입니다. Edit

음. ^^;

제 질문에 약간 오해의 소지가 있는거 같습니다.

 

제 질문을 다시 이야기하자면

"본래 OUTER JOIN 의 사용경우가 아니라"

<< 여리님이 설명하신 OUTER JOIN 의 역할을 제외하고

 

사원테이블과 직급테이블 간의 관계처럼

하나도 흘려지는 데이타가 없을 경우에

 

INNER JOIN 을 쓰는 것과 OUTER JOIN을 쓰는 것간의

속도 차이가 나는지에 대해 알고싶었던 것입니다. ^^;

 

 

 

정원식(daehyub)님이 2005-03-09 20:34에 작성한 댓글입니다.

sql에 대한 대한 실행계획을 보시기 바랍니다. [ctrl + L]

 

또한 set statistics time [on /off ]와

set showplan_text [on /off]를 통해 그 결과를 확인하실 수 있습니다.

 

그 데이터의 구조가 어떻게 되어 있다를 확인하기 이전에는

반드시 이 명령이 우월하다고 말씀을 드리기는 아마 곤란한 상황이 아닐까 합니다. ^^

 

 

여리님이 2005-03-09 21:00에 작성한 댓글입니다. Edit

답변 감사합니다. ^^

정원식(daehyub)님이 2005-03-10 10:46에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1814MS-SQL이 자꾸 서버가 내려갑니다. [1]
윤재준
2005-03-11
3029
1813temp table과 pintable의 속도 차이 [1]
복팅이
2005-03-10
3602
1812고수님 이거좀 봐주세요..ㅠㅠ [1]
오신일
2005-03-09
3045
1811INNER JOIN 과 OUTER JOIN 간의 차이...? [4]
정원식
2005-03-09
7479
1810TM REQUEST 가 무엇인가여?
송승현
2005-03-09
3026
1809identity 가 포함된 테이블에 데이타 인서트 후 바로 Max identity 값을 가져오려 합니다.그런데... [3]
정원식
2005-03-08
3749
1808기본 키에 대한 개념 질문입니다. [10]
이상도
2005-03-07
6290
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다