나는 전화 번호 테이블을 가지고 있으며 전화 번호를 varchar (20)로 저장합니다. 난 둘 다 전체 숫자의 검색을 구현하기위한 요구 사항이뿐만 아니라 숫자의 마지막 부분에, 그래서 일반적인 쿼리는 다음과 같습니다문자열 끝의 와일드 카드 일치 색인
SELECT * FROM PhoneNumbers WHERE Number LIKE '%1234'
수 나는 사람들을 만들기 위해 Number
컬럼에 인덱스를 넣어하는 방법 효율적인 검색? 의 레코드를 정렬하는 인덱스를 만드는 방법이 있나요? 문자열이 바뀌 었습니까? 또 다른 옵션은 같은 쿼리를 줄 것이다, 그들을 저장하기 전에 숫자를 반전 할 수 있습니다 :
SELECT * FROM PhoneNumbers WHERE ReverseNumber LIKE '4321%'
. 정상 수와 반전 수를 모두 저장하고 삽입/업데이트시 트리거에 의해 반전 된 수를 업데이트하여 해결할 수 있습니다. 그러나 그런 종류의 해결책은 그다지 우아하지 않습니다.
다른 제안 사항이 있으십니까?
보기 : HTTP ://stackoverflow.com/questions/1537645/in-the-beginning-of-like-clause/1537706#1537706 –