쿼리 속도가 느려서 질문드립니다.
테이블은 아래 구성과 같고,
SEQ_NO NVARCHAR2(36 ) NOT NULL,
CALL_DATE NVARCHAR2(8 ) ,
CALL_TIME NVARCHAR2(6 ) ,
TEL_NO NVARCHAR2(128 ) ,
기타 몇개 칼럼들...
INDEX 는 PK INDEX와 CALL_DATE, CALL_TIME, TEL_NO로 INDEX2가 존재합니다.
데이터 분포도는 아래 참조..
데이터는 하루에 10만건 이상 쌓이고(CALL_DATE 기준),
TEL_NO는 제각각 입니다.
하루에 한번씩 90일 이전 데이터는 배치로 삭제시키고 있습니다.
조회 쿼리는 아래와 같습니다.
SELECT SEQ_NO, TEL_NO
FROM TABLE_NAME
WHERE CALL_DATE >= '20170825'
AND CALL_DATE <= '20170825'
AND CALL_TIME >= Rpad('0000', 6, '00')
AND CALL_TIME <= Rpad('2359', 6, '59')
AND TEL_NO LIKE Concat('01011112222', '%');
DB 툴에서 조회시 1초 내외로 조회되는데,
AND TEL_NO LIKE Concat(:A, '%');
이렇게 조회하는 경우 3분 넘게 걸립니다.
어떻게 튜닝을 해야될련지요,,,
고객사에 아직 가보지 않아 실행계획은 어떻게 나오는지 확인하지 못한 상황입니다.