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
운영게시판
최근게시물
Oracle Q&A 39973 게시물 읽기
No. 39973
아래 쿼리 좀 봐주세요. 속도 차이 의문
작성자
배움이(jodae)
작성일
2013-01-17 09:29
조회수
5,651

       SELECT a.mast_id
           ,  a.mast_nm
           ,  a.mast_idt
           ,  a.mast_odt
           ,  a.mast_part_cd
           ,  b.cdma_value4
           ,  a.mast_regi_cd
           ,  c.cdma_value1
           ,  a.mast_jumin
           ,  d.reco_value1
           ,  d.reco_value2
           ,  d.reco_value3
           ,  d.reco_value4
           ,  d.reco_value5
           ,  d.reco_value9
           ,  e.reco_value1
           ,  e.reco_value2
           ,  f.cdma_value4
           ,  e.reco_value3
           ,  g.cdma_value1
           ,  e.reco_value4
           ,  e.reco_value5
           ,  e.reco_value9
           FROM ydh.tb_insa_master   a
LEFT OUTER JOIN ydh.tb_insa_cdmaster b ON b.cdma_host_id = a.mast_host_id AND b.cdma_class = 'PART'   AND b.cdma_cd = a.mast_part_cd
LEFT OUTER JOIN ydh.tb_insa_cdmaster c ON c.cdma_host_id = a.mast_host_id AND c.cdma_class = 'REGI'   AND c.cdma_cd = a.mast_regi_cd
LEFT OUTER JOIN ydh.tb_insa_record   d ON d.reco_host_id = a.mast_host_id AND d.reco_gbn   = 'S_TMNY' AND d.reco_mast_id = a.mast_id AND d.reco_seq = '2012'
LEFT OUTER JOIN ydh.tb_insa_record   e ON e.reco_host_id = a.mast_host_id AND e.reco_gbn   = 'S_TMNY' AND e.reco_mast_id = a.mast_id AND e.reco_seq = '2013'
LEFT OUTER JOIN ydh.tb_insa_cdmaster f ON f.cdma_host_id = a.mast_host_id AND f.cdma_class = 'PART'   AND f.cdma_cd = e.reco_value2
LEFT OUTER JOIN ydh.tb_insa_cdmaster g ON g.cdma_host_id = a.mast_host_id AND g.cdma_class = 'REGI'   AND g.cdma_cd = e.reco_value3
          WHERE  a.mast_host_id = '100001'
            AND (a.mast_odt IS NULL OR a.mast_odt >= '20130101') 
       ORDER BY a.mast_part_cd, c.cdma_value2, a.mast_jumin

a.mast_host_id는 '100001'입니다.
LEFT OUTER JOIN에서 b.~ g.cdma_host_id = a.mast_host_id 대신
g.cdma_host_id = '100001'로 해서 실행하면 속도가 엄청느려집니다.
왜 그런걸까요?

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

실행계획을 비교해 보세요.

마농(manon94)님이 2013-01-18 12:52에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39976가로 데이터를 세로로 출력 [1]
질문드립니다
2013-01-17
7090
39975CPU (Critical Patch Update) 해보신분~
임서희
2013-01-17
5054
39974지식이 납루하여..여쭙니다. (저에게도 리플을 주세요..) [1]
물어보자
2013-01-17
4921
39973아래 쿼리 좀 봐주세요. 속도 차이 의문 [1]
배움이
2013-01-17
5651
39971datafile은 경로구분없이 데이터가 쌓이나요? [5]
임서희
2013-01-16
5127
39970동일문자가 연속으로 있는 경우를 표기할 수 있을런지요? [2]
초보
2013-01-16
6103
39969오라클 클라이언트가 주기적으로 끊키는 현상 [1]
문의
2013-01-15
5067
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다