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 40438 게시물 읽기
No. 40438
염치없지만..마농(manon94)님...
작성자
한상원(ennedi)
작성일
2014-04-21 12:00
조회수
6,884

분석함수 사용하여 쿼리 해결해주셨는데...기존에 있던 쿼리에 추가하니까

실행속도가 너무 느려서 고민이네요..염치없지만 마농님 어떻게 추가해야 최단시간에

출력될까요..? 추가부분은 굵게 표시했습니다...염치없네요...

SELECT /*+ ORDERED */ ROWNUM,                                                                   
       GSGOCD,                                                                                       
       GOGONM,                                                                                       
       DECODE(cscokn, '0','원가','1','매가','2','공통') csgokn                                                    
  FROM (SELECT * FROM SCGOSNTB ORDER BY GSGOCD) A,                                          
       (SELECT *                                                                               
          FROM SCGOODTB                                                                        
         WHERE GOSHCD = :P_JUMPO_CD                                                            
           AND GOMIDD LIKE :P_JUNG_CD || '%'                                                
           AND GOSEYN = '0'                                                                 
           AND (GOGOCD LIKE :P_SANG_CD  || '%'                                              
           OR   GOBAC1 LIKE :P_SANG_BCD || '%'                                              
           OR   GOBAC2 LIKE :P_SANG_BCD || '%') ) B,
        (SELECT *
              FROM (SELECT csshcd, csgocd, csstdt, cssekn, cscokn, csendt
                       , ROW_NUMBER() OVER(PARTITION BY csshcd, csgocd
                                     ORDER BY csstdt DESC) rn
                  FROM sccosttb
                  )
         WHERE rn = 1       
        ) E
,                                                     
    SCCOMMTB C,                                                                            
    SCPRSTTB D                                                                                         
 WHERE GSSHCD = :P_JUMPO_CD                                                                    
   AND GSSNDD = :P_BALJU_DT                                                                      
   AND GSSNKN = :P_BALJU_GBN -- 2:권고                                                                    
   AND GSCANO = :P_PYUN_NO                                                                     
   AND GOSHCD = GSSHCD                                                                         
   AND GOGOCD = GSGOCD                                                                         
   AND CMSHCD = GOSHCD                                                                         
   AND CMLRCD = '01'                                                                         
   AND CMMDCD = '21'                                                                         
   AND CMSMCD = GOCUST                                                                         
   AND PSSHCD(+) = :P_JUMPO_CD                                                                          
   AND PSGOCD(+) = GSGOCD
   AND GSGOCD = csgocd 
ORDER BY gogocd                                                                                
 

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

a 안의 Order By 절을 없애세요. 이게 가장 큰 원인일수도.
ordered 힌트도 빼세요. 모르고 쓰는 힌트는 안쓰니만 못합니다.
e 의 조인 조건이 누락된 건 아닌지? (csshcd)
csshcd를 조인 조건으로 주지 않고 e 서브쿼리 안에서 미리 걸러낼수도 있겠죠.


기타..쿼리 작성 시 컬럼명만 쓰시는건 안좋아요.
알리아스명을 앞에 붙여주세요.

마농(manon94)님이 2014-04-21 21:45에 작성한 댓글입니다.

답변 감사합니다....쿼리 응답시간이 많이 단축됐습니다.

좋은하루 보내세요...^^

한상원(ennedi)님이 2014-04-22 10:49에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40441오라클 테스트서버 스키마정보 실서버 반영 방법
김종욱
2014-04-24
6201
40440Commit 전에 데이터 보장? [2]
아폴론
2014-04-23
6803
40439FETCH LOOP 에서 변수에 줄바꿈을 넣고 싶은데 부탁드립니다. [2]
박재덕
2014-04-21
6441
40438염치없지만..마농(manon94)님... [2]
한상원
2014-04-21
6884
40437예약 서비스 서버 구성
서버구성
2014-04-21
6302
40436첫번째 row를 select하고 싶은데.. [2]
한상원
2014-04-18
6460
40435다른 디비와 다른오라클에 대한 성향에 대해 문의드립니다. [6]
김종수
2014-04-17
6723
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다