MSSQL 에서 datetime 컬럼이 있습니다
이컬럼을 index 로 잡았습니다
근데 어디선가 본적이 있어서 질문드립니다
인덱스를 가공하게 되면 인덱스가 깨진다고했습니다
예를 들어
select * from testtable
where max(iCode) > 10
=> 해당 쿼리가 말이안되지만 막상 생각이 나는 예제가 없어서 억지로 끼어맞춘겁니다
이런식으로 인덱스인 컬럼의 데이타를 가공하게되면 인덱스 처리가 안된다고 알고있습니다
이런점은 이해가 되는데
datetime 일때
select * from testtable
where createDate = '2008-02-02' => createDate 는 datetime 입니다
이럴때는 실제 createDate 는 datetime 형식이므로 위와같은 데이타가 들어있지 않습니다
그러므로 내부에서 가공이 일어난후에 적용이 됩니다 (그냥 제생각입니다)
그렇다면 인덱스인 컬럼을 가공했으로 인덱스가 적용이 안된다고 알고있는데..
이런경우에도 맞는건가요?
|