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 1163 게시물 읽기
No. 1163
쓰지 않는 table 명이 쿼리문에 있으면 성능이 떨어질까요???
작성자
초보
작성일
2005-10-13 11:00
조회수
9,520

예를 들어

select table1.col1 , table1.col2 from table1 , table2 where (조건문)

이렇게 하는 것과

 

select table1.col1 , table1.col2 from table1 where (조건문)

이렇게 하는게 성능차이가 있나요???

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

성능 문제가 아니라....

그렇게 사용하면 카티션 프로덕트가 일어나서 원치 않는 결과가 나올텐데요..

굳이 그렇게 써야 하는 무슨 이유라도 있나요?

 

자세히 읽어보니 where절 이후를 기술하지 않아서 잘은 모르겠지만

where절에 따라서 카티션 프로덕트가 안일어 날 수는 있겠네요.

select 절에 나오지 않는다고 다 쓰지 않는것은 아니잖아요?

where절 이후의 구문이 궁금해 지네요.....

 

제가 말씀드린 두가지 경우에ㅔ 대해서,

성능 차이의 문제가 아니라 원하는 데이타를 가져오는 쪽으로의 관점에서 접근하셔야 할 듯합니다..

이현석(dreamlhs)님이 2005-10-13 11:34에 작성한 댓글입니다.

질문 내용이 약간 부족했네요.

table2 는 where 절에서도 쓰이지 않습니다.

즉 table2  는 from 에만 나오고 다른 부분에서는 쓰이지 않습니다.

 

제가 이런걸 질문하는 이유는 동적으로 쿼리문을 생성해야 하는데요,

검색 조건에 따라 table1 만 있으면 되는 경우도 있고 table2 도 필요한 경우도 있거든요. (select 에는 항상 table1 의 컬럼만 쓰입니다.)

 

만약 성능 문제가 없으면 from 절을 만들 때 table1 과 table2 를 모두 넣으려고 합니다. 안 그러면 where 절의 조건에 따라 table2 를 넣을지를 결정해야 하는데 그럼 복잡해지거든요.

초보님이 2005-10-13 12:34에 작성한 댓글입니다. Edit

join되는 테이블이 많이질수록 성능은 기하 급수로 떨어집니다.

 

그렇게 하지 마세요. :-)

.님이 2005-10-13 13:12에 작성한 댓글입니다. Edit

where 절에도 안쓰인다면 절대로 사용하시면 안됩니다.

위의 분 말씀대로 기하급수적으로 성능이 떨어지는 말씀도 맞구요,

가장 중요한 원하는 결과를 얻지 못하십니다.

카티션 프로덕트가 발생합니다.

 

어차피 동적으로 퀴리문을 만드신다면 로직에서 해당 테이블을 빼고 쿼리문을 만드시면 될듯합니다...

이현석(dreamlhs)님이 2005-10-13 21:24에 작성한 댓글입니다.

답변해주신 분들 모두 감사합니다...

초보님이 2005-10-14 14:04에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1171질문이요 [1]
배용준
2005-11-04
9712
1170join vs subquery [1]
초보
2005-10-31
9747
1166요즘 데이터베이스강의를 듣는 복학생입니다^^ [2]
김건형
2005-10-20
10992
1163쓰지 않는 table 명이 쿼리문에 있으면 성능이 떨어질까요??? [5]
초보
2005-10-13
9520
1162sub query 를 지원하는 DB ??? [2]
초보
2005-10-13
9546
1161DB용어 질문인데요... [2]
김정식
2005-10-04
11275
1159쿼리작성에 질문있습니다. [3]
아이스
2005-09-28
9888
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다