Нужно искать имена, но не иметь индекса Freetext

Мне нужно искать имена в нашей таблице, но у нас нет FREETEXT Настройка индекса. Это больше не вариант из-за большого количества данных в таблице.

Есть ли альтернативы, которые я могу сделать? По сути, я бы хотел сделать следующее:

SELECT *
  FROM MyTable
 WHERE FREETEXT(FirstName, @firstname)

Любые идеи или указатели будут с благодарностью.

1 ответ

Решение

Без полнотекстовых индексов вы могли бы рассмотреть возможность использования

WHERE FirstName LIKE '%' + @firstname+ '%'

Однако это не хорошо масштабируется (линейно, сканирование всех строк).

И у вас есть "большой объем данных", что означает, что вы действительно должны иметь полнотекстовые индексы

Другие вопросы по тегам