쿼리가 아래 형태로 되어있습니다.
WHERE 조건에서 A.JEJOTM 컬럼에 함수가 걸려있어 인덱스를 타지 못하여
너무 늦네요..
DATE 타입이라 시간이 걸려있어
TO_CHAR로 변형하지않고 조건을 걸 방법이 생각나지 않네요
함수를 걸지 않고 비교할수있는 방법좀 알려주세요
A.JEJOTM= '2010-02-04' 이런형식으로 비교시 시간까지 비교되지 못하여
값이 나오지않네요
SELECT A.HTLOTNO, -- LOT번호
C.MIXKG, -- 무게
C.S_BATCHNO, -- 시작배치
C.E_BATCHNO, -- 종료배치
TO_CHAR(A.JEJOTM, 'YYYY-MM-DD HH24:MI:SS') AS JEJOTM, -- 제조시간
A.EQPTCD, -- 설비코드
D.EQPTNM, -- 설비명
A.WKEMPNO, -- 작업자 사번
E.EMPNM, -- 작업자 명
F.ITEM_NAME, -- 품목명
F.ITEM_SPEC -- 품목규격
FROM HTLOTJ A
LEFT OUTER JOIN ( SELECT B.HTLOTNO,
SUBSTR(MIN(B.BATCHNO), 15, 3) AS S_BATCHNO,
SUBSTR(MAX(B.BATCHNO), 15, 3) AS E_BATCHNO,
SUM(MIXKG) AS MIXKG
FROM MIXLOTNO_BATCHNO B
WHERE B.SAUPCD = '20'
GROUP BY B.HTLOTNO ) C ON C.HTLOTNO = A.HTLOTNO
LEFT OUTER JOIN INF.EQPT D ON D.EQPTCD = A.EQPTCD
LEFT OUTER JOIN INF.WKEMPNO E ON E.EMPNO = A.WKEMPNO
LEFT OUTER JOIN INF.ITEM F ON A.HTITEM = F.ITEMCD
WHERE A.SAUPCD = '20'
AND A.ROUTCD = '10'
AND A.EQPTCD = IV_EQPTCD
--AND A.JEJOTM BETWEEN SYSDATE - 1 AND SYSDATE
AND TO_CHAR(A.JEJOTM, 'YYYY-MM-DD') = ID_JISIDT