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 6423 게시물 읽기
No. 6423
인덱스에 궁금한점이 있습니다.
작성자
곰보
작성일
2012-09-27 23:51ⓒ
2012-09-27 23:57ⓜ
조회수
6,878

안녕하세요 join문을 썼을때 인덱스에 관련해서 궁금한 내용이 있어서 질문드립니다.^^

select .....

from table1 A

inner join table2 B on A.column = B.column

 

이런식으로 join된 테이블이 있다고 가정했을때 A와 B테이블중 어느쪽에 인덱스를 걸어야 효율적일까요??

inner join 이외에 left(right) outer join일 경우에도 궁금합니다.

조인되는 A와 B 테이블을 전부 인덱스를 잡아야 할까요??

고수님들의 답변 부탁드립니다.

 

감사합니다.

 

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

 where 절이 없고 ,data의 분포를 모르고, 새로 추가하는 인덱스가 클러스터드 인덱스인지 클러스터드 인덱스가 없는 테이블에 넌클러스터드 인덱스의 생성인지, 클러스터드 인덱스가 있는 테이블에 넌클러스터드 인덱스의 생성인지는 알 수 없는 상태이기 때문에 원하셨던 답이 아닐 확률도 높습니다만

 

그렇다면 두 테이블에 모두 index를 생성하세요. 쿼리 옵티마이저가 적절한 조인 전략(물리 조인 연산자, where절이 없기에 hash조인이나 merge조인 계획도 충분히 확률이 높음)과 인덱스를 선택하게 될 겁니다.

우욱님이 2012-09-28 10:53에 작성한 댓글입니다.
이 댓글은 2012-09-28 10:53에 마지막으로 수정되었습니다. Edit

윗분이쓰신것 처럼 살펴야 할 조건과 상황들이 많구요 ...

 

질문하신대로의 답은 .. 데이터 카운트 수가 높고  Join 하려는 필드의 중복율이 떨어지는 table의  필드에

인덱스를 추가해주는게 맞습니다.  

 

액면대로 답변을 드리자면요 ㅎ

애플님이 2012-10-04 17:16에 작성한 댓글입니다.
이 댓글은 2012-10-04 17:17에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6426$partition 사용법 질문입니다. [2]
김봉달
2012-10-16
6805
6425오른쪽 숫자 제거하기 [4]
정인수
2012-10-10
11040
6424조인 및 조건 주기요.. [1]
초보입니다.
2012-09-28
7181
6423인덱스에 궁금한점이 있습니다. [2]
곰보
2012-09-27
6878
6422ms sql 2000 특정 테이블 쿼리가 응답이 없습니다 [1]
김한식
2012-09-26
7424
6421기초적인 질문좀.... [1]
초보입니다.
2012-09-26
6747
6419테이블 행수가 select에 영향을 미치는가? [1]
김형태
2012-09-24
7201
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다