Полнотекстовый поиск при взаимодействии с индексом, имеющим другие столбцы - PullRequest
1 голос
/ 29 марта 2011

У меня есть таблица со следующими столбцами:

Id, int
FirstName, nvarchar
LastName, nvarchar
Description, ntext

У меня есть полнотекстовый каталог, охватывающий поле Описание .

Мой запрос:

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

Теперь мне интересно, какой индекс использовать для оптимизации этого запроса, чтобы можно было в полной мере использовать полнотекстовый каталог. Будет ли SQL Server использовать индекс LastName в этом случае?

(я знаю, что мог бы просто проверить это, но моя реальная таблица и структура запросов, очевидно, не так просты, как указано выше, поэтому я бы предпочел узнать кого-то, кто действительно знает, как это должно работать)

1 Ответ

3 голосов
/ 29 марта 2011

Да, индекс на LastName поможет. SQL Server может создать план, который в основном объединяет сканирование диапазона индекса NC для «Джонсона» и результат полнотекстового поиска по индексу. В этом техническом описании содержатся некоторые подробности, которые вас интересуют: Полнотекстовые запросы SQL Server 2005 к большим каталогам: извлеченные уроки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...