TO_CHAR(DATE,'YYYYMMDDHH24MISS') 이런식으로 형변환을 일자시분체크 해서 조회할것 같은데
그냥 DATE 걸어주면 되는지 형변환까지 같이 해서 생성해야하는지 궁금하네요
인덱스를 어떻게 걸어주는게 효과적을까요?
by 우리집아찌
[2018.02.22 13:51:45]
당연히 날짜는 DATE TYPE으로 컬럼을 만드셔야죠..
조회는
WHERE 날짜 = TO_DATE( '20180222135200' , 'YYYYMMDDHH24MISS')
by 마농
[2018.02.22 14:03:54]
date 타입으로 하고 컬럼에 인덱스 걸어주면 됩니다.
단, 조건 줄 때 컬럼을 다시 문자로 치환하여 비교하지 마시고
컬럼은 그대로 둔 채 조건값을 날짜로 치환하여 비교하셔야 합니다.
잘못된 예) TO_CHAR(dt, 'yyyymmdd') = '20180201'
올바른 예) dt >= TO_DATE('20180201', 'yyyymmdd') AND dt < TO_DATE('20180201', 'yyyymmdd') + 1
그리고 일 40만건이면 파티션 테이블로 관리하시는게 좋을 듯 하네요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.