MS-SQL에서 Where절에 Like를 사용하면 Index를 타는지여? 듣기로는 '%'를 사용하면 인덱스를 안탄다고 하던데 그럼 언더바 '_' 를 사용해도 인덱스를 안타나여? 허접한 질문이라도 답변 부탁드리겠습니다.
결론부터 말씀드리자면 index를 탈수도 있고 아닐수도 있습니다.
like 문을 사용하면 패턴 검색을 하기 때문에
% : 문자가 0개 이상인 문자열
_ : 단일 문자
로 매치됩니다. 즉 어떤 문자던 상관없이 어쨌든 문자라는거죠.
그러므로 위 문자들이 앞쪽에 나오면 ( like '%1234', '_1234') 당연히 인덱스를 탈 수 없습니다.
하지만 뒤에 온다면 (like 'hyperion%' ) 앞에 부분에서 범위를 줄여줄 수 있으므로 인덱스 사용이 가능합니다.
답변 감사드립니다.
^^