intime이라는 컬럼을 인덱스로 지정했습니다.
컬럼타입은 varchar이지만 데이터는 날짜형식으로 들어가있습니다
이 경우 where 조건에서 intime < '2017-02-08 00:00:00' and intime > '2017-02-07 00:00:00'
위와 같이 조건을 주어도 index를 타는지 궁금합니다.
*intime은 date타입이 아닙니다.
안녕하세요.
varchar 에 입력된 아스키값으로 비교한다고 보시면 됩니다.
따라서 문자열끼리 비교하면 인덱스를 사용할 수 있습니다.
그리고 비교하는 문자열이 대상 필드 길이보다 크지 않아야 합니다.
e1) select * from 테이블명 where intime <'abc';
e2) select * from 테이블명 where intime <'2018';
e3) select * form 테이블명 where intime <'2017-03-01';
아래는 간단한 예제입니다.
## 테스트 데이타 생성