2011-03-29 7 views
1

나는 다음과 같은 열이있는 테이블이 있습니다.전체 텍스트 검색

내 쿼리 :

SELECT FirstName, LastName 
WHERE LastName = 'Johnson' 
AND CONTAINS(Description, 'house') 

가 지금은 전체 텍스트 카탈로그를 최대한 활용할 수 있도록하기 위해이 쿼리를 최적화하는 데 사용할 인덱스 궁금하네요. 이 경우 SQL Server가 LastName의 인덱스를 활용할 수 있습니까?

(난 그냥 테스트 할 수 알지만, 내 실제 테이블과 쿼리 구조는 분명 위와 같이 간단하지 않습니다, 그래서 오히려 실제로이 일을 해야하는 방법을 알고 사람을 알고 것)

+0

전체 텍스트 검색 기능은 전체 텍스트 색인 만 사용합니다. http://www.simple-talk.com/sql/learn-sql-server/understanding-full-text-indexing-in-sql-server/ –

+0

읽었습니다. 전체 기사. 내가 볼 수있는 한 그는 전체 텍스트 색인이 일반 색인과 함께 사용되는 방법에 대한 주제를 다루지 않습니다. –

답변

3

을 예, LastName의 색인이 도움이 될 것입니다. SQL Server는 기본적으로 'Johnson'에 대한 NC 인덱스의 범위 검색과 전체 텍스트 인덱스 검색의 결과 사이에 조인을 수행하는 계획을 만들 수 있습니다. 이 백서에는 관심있는 세부 정보가 포함되어 있습니다 : SQL Server 2005 Full-Text Queries on Large Catalogs: Lessons Learned.

+0

기사에 나와있는 관심있는 세부 정보가 포함되어있는 것은 맞지만이 질문의 시나리오를 직접 설명하지는 않습니다. –

+0

SQL Server에서는 다음과 같은 작업을 수행 할 수 있습니다. 1. 전체 텍스트 인덱스를 기반으로 행 ID 찾기 2. 일반 인덱스를 기반으로 행 ID 찾기 3. 두 테이블에있는 행을 반환합니다. –

+0

네, 이해가 정확합니다. –