쿼리 도움좀 부탁드립니다. 0 1 559

by 김승훈 [2016.08.27 10:50:42]


  SELECT AET.UNIT_CD AS UNITCD
    , TO_CHAR(AET.COL_DTTM, 'YYYYMMDDHH24MISS') AS COLDTTM
    , TO_CHAR(AET.COL_DTTM, 'YYYY-MM-DD HH24:MI:SS') AS AET_DTTM
       , TO_CHAR(SA.COL_DTTM, 'YYYY-MM-DD HH24:MI:SS') AS SA_DTTM
       , TO_NUMBER(SUBSTR(SADATA,  1, 20)) RMSF
       , TO_NUMBER(SUBSTR(SADATA,  21, 20)) MFR
       , TO_NUMBER(SUBSTR(SADATA, 41, 20)) RRAT
       , TO_NUMBER(SUBSTR(SADATA, 61, 20)) RINT
    FROM NESS_SONATA_AET AET
       , (SELECT LPAD(RMSF,20)||LPAD(MFR,20)||LPAD(RRAT,20)||LPAD(RINT,20) AS SADATA, UNIT_CD, AET_RF, COL_DTTM, RINT FROM NESS_ALY_SA ) SA
   WHERE 1=1
   AND SA.UNIT_CD = AET.UNIT_CD
   AND SA.AET_RF = AET.RF_MEAN 
   AND ABS(TO_DATE(SA.COL_DTTM) - TO_DATE(AET.COL_DTTM)) < 1
   AND TO_NUMBER(RINT) BETWEEN TO_NUMBER(AET.PRI_MIN) AND TO_NUMBER(AET.PRI_MAX)
   AND AET.COL_DTTM BETWEEN TO_DATE(replace('20160812','-','') || '000000', 'YYYYMMDDHH24MISS') AND TO_DATE(replace('20160812','-','') || '235959', 'YYYYMMDDHH24MISS')
     AND AET.UNIT_CD = '111'
ORDER BY AET.COL_DTTM DESC, SA.COL_DTTM DESC

 

AET 테이블을 드라이빙 테이블로 보고 SA테이블을 아우터 조인 걸어서 범위 검색과 날짜 관련 검색 및 정렬까지 사용하는데 너무 느리네요... 도움좀 부탁드려요

by 마농 [2016.08.29 10:27:23]

아우터 조인 맞나요? 이너 조인이네요?
각 테이블의 PK 및 인덱스 정보를 주세요.
각 테이블의 전체 건수 및 조건을 만족하는 건수는?
각 테이블의 col_dttm 의 데이터 타입은? Date Type?
조회조건은 일자인가요? 기간인가요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입