술어 MyColumn LIKE '%FooBar'
과 일치하는 모든 행을 찾고 싶지만 스캔보다는 색인 찾기를 사용하고 싶습니다.SQL Server에서 효율적인 문자열 접미사 검색이 가능합니까?
한 가지 방법은 기본적으로 역전 된 버전의 MyColumn을 만들고 역 분개 된 열의 기존 색인을 사용하여 해당 열에서 역 패턴 (ooF%
)을 검색하는 것입니다.
그러나이 역행 열을 수동으로 생성하는 것은 좋지 않습니다. 오라클은 반전 된 키 인덱스를 사용하여 열의 역전 된 버전을 수동으로 구체화 할 필요없이 (테이블의 물리적 컬럼 형태로 또는 인덱스 된 뷰를 생성하여) REVERSE(MyColumn)
에서 자동으로 색인을 생성 할 수 있습니다.
SQL Server에서 suffix substring 검색을 효율적으로 수행하는 다른 방법이 있습니까?
[전체 텍스트 검색] (http://technet.microsoft.com/en-us/library/ms142571.aspx) 옵션이 있습니까? – Bridge
@Bridge : 전체 텍스트 검색은이 문제에 도움이되지 않습니다. 자신의 링크에서 : "전체 텍스트 쿼리는 영어 또는 일본어와 같은 특정 언어의 규칙에 따라 단어 및 구를 조작하여 전체 텍스트 인덱스의 텍스트 데이터에 대해 언어 검색을 수행합니다". 당신은 그 단어의 일부를 검색 할 수 없습니다. – TToni
@TToni 단어 및 구문 ('하나 이상의 특정 단어 또는 구문 (단순한 용어)'및 '지정된 텍스트 (접두사 용어)로 시작하는 단어 또는 구문)을 검색 할 수 있지만, 오른쪽 - 접미사가 아님 - [이 관련 질문] (http://stackoverflow.com/questions/2392348/whats-wrong-with-my-fulltext-search-query)을 참조하십시오. – Bridge