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
운영게시판
최근게시물
DB2 Q&A 3075 게시물 읽기
No. 3075
조건에서 OR 대신에 다른 방법은 없을까요?
작성자
김영주(icecream74)
작성일
2011-09-23 15:53
조회수
5,147

 

쿼리문에서

     ON ( T.ACCT_MGT_NO = D.CHNG_BFR_ACCT_NO
       OR T.ACCT_MGT_NO = D.CHNG_AFT_ACCT_NO

이부분에 속도저하가 심하여 OR 대신에 다른방법은 없을까요?...

도움주세요...

   SELECT *
     FROM AA T
          INNER JOIN
         (
          SELECT A.MGT_NO, A.CHNG_BFR_ACCT_NO, A.CHNG_AFT_ACCT_NO
            FROM BB A
                 INNER JOIN
                 CC B
              ON A.FIRST_ACCT = B.ACCT_MGT_NO
         ) D
     ON ( T.ACCT_MGT_NO = D.CHNG_BFR_ACCT_NO
       OR T.ACCT_MGT_NO = D.CHNG_AFT_ACCT_NO
        )

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

 

SELECT A.MGT_NO, A.CHNG_BFR_ACCT_NO, A.CHNG_AFT_ACCT_NO
            FROM BB A
                 INNER JOIN
                 CC B
              ON A.FIRST_ACCT = B.ACCT_MGT_NO
 

를 ()로 처리하신것을 보니 full scan으로 driving하는것이 빠르다고 판단하신것 같네요.

그렇다면 AA T 의 size가 가장 클테고 이 테이블만 제대로 인덱스를 사용하면 될것 같습니다.

 

이때 ()는 optmizer에게 의미가 없습니다. ()를 따로 실행하시려면 select 절에 distinct를 추가해보세요.


   SELECT *
     FROM AA T
          INNER JOIN
         (
          SELECT  distinct A.MGT_NO, A.CHNG_BFR_ACCT_NO, A.CHNG_AFT_ACCT_NO
            FROM BB A
                 INNER JOIN
                 CC B
              ON A.FIRST_ACCT = B.ACCT_MGT_NO
         ) D
     ON ( T.ACCT_MGT_NO = D.CHNG_BFR_ACCT_NO
       OR T.ACCT_MGT_NO = D.CHNG_AFT_ACCT_NO
        )

 

AA table에는 ACCT_MGT_NO 컬럼으로 시작하는 인덱스가 있어야 합니다.

조는 냥이님이 2011-09-26 13:46에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3091DB2 PL을 오라클 PL로 바꾸기
양귀석
2011-11-04
5126
3079DB2 AutoCommit에 관해서 문의
오장훈
2011-10-14
5295
3078db2에서 insert와 update를 동시에 할수있는방법 [2]
김영주
2011-10-12
5964
3075조건에서 OR 대신에 다른 방법은 없을까요? [1]
김영주
2011-09-23
5147
3074DB2 암호화 스칼라 함수 사용시에 제약 사항 [1]
조경민
2011-09-08
5759
3073LAG()함수에 대한 문의
김영주
2011-08-30
5209
3071DB2 jcc 드라이버 이용해서 CLOB 필드를 업데이트 하려는데 아무 반응이 없습니다.
이재학
2011-08-25
5388
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다