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
운영게시판
최근게시물
DBMS Q&A 532 게시물 읽기
No. 532
[질문] 인텍스에 대한 질문
작성자
김종열(Myway21)
작성일
2002-09-04 12:14
조회수
4,914

두개의 테이블을 조인해서 가져오는거와 두개의 테이블을 하나로 만들어서 그냥 select하는것과의 속도차이를 테스트 했는데요.

 

일단 두개의 테이블 스키마는 다음과 같읍니다.

 

Table_A

deptno NUMBER PK,

dname CHAR(100),

loc CHAR(10)

 

TABLE_B

empno NUMBER PK,

ename CHAR(20),

sal NUMBER,

job CHAR(20),

deptno NUMBER FK( TableA , deptno )

 

그리고 위의 두테이블을 가지고하나로 만든 테이블 스키마는 다음과 같죠

 

TABLE_C

empno NUMBER PK,

ename CHAR(20),

sal NUMBER,

job CHAR(20),

deptno NUMBER,

dname CHAR(100)

 

TABLE C에는 index를 걸었읍니다. deptno에 대해서 말이죠.

 

그런후 다음과 같은 두개의 sql문을 날리니 오히려 JOIN문이 빠르더군요.

 

JOIN문

-------------------------------------

select b.empno,b.ename,b.sal,a.dname

from TABLE_A a, TABLE_B b

where a.deptno=b.deptno

and a.deptno >20

and b.sal>50000;

-------------------------------------

 

NOJOIN문

-------------------------------------

select empno,ename,sal,dname

from TABLE_C

where deptno>20

and sal>50000;

-------------------------------------

 

하지만 deptno > 20 과 같이 범위를 주지않고 =로 하면 NOJOIN문이 빠릅니다.

혹은 dname문을 like문등으로 하여도 NOJOIN문이 빠르구요.

왜 그런것인지 알려주세요..

 

그럼.

[Top]
No.
제목
작성자
작성일
조회
535데이타베이스 패키지와종류요? [1]
남윤명
2002-09-04
5229
534데이타베이스 몇가지 궁굼증.... [1]
박기정
2002-09-04
5366
533[질문] not null default 사용할 때 기본값에 대해 질문 있습니다. [1]
김형선
2002-09-04
5057
532[질문] 인텍스에 대한 질문
김종열
2002-09-04
4914
531저기 리눅스 자체 디비에 관해서... [1]
노경미
2002-09-02
5157
530db이것도 알려주세요~제발요 급해요 ^^ [1]
혜영
2002-09-02
5152
529PK와 FK설정에 관해 ... [1]
lyh
2002-08-31
5649
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다