SQL содержит не работающий над полнотекстовым индексом с предшествующим *

select top 10 * from table where contains(*,'"abc*"') 

работает и возвращает 6 строк

ABCDEF

ABCD

ABCD

ABCDE

ABCDEFGH

АБВГДЕЖ

select top 10 * from table where contains(*,'"*bc*"') 

возвращает записи не найдены.

Кто-нибудь знает, как можно заставить работать функцию "*bc*"?

2 ответа

Решение

Ведущий поиск по шаблону исключает использование любого индекса... включая полнотекстовое индексирование.

Так "*bc*" несовместим с полнотекстовой индексацией... и нетекстовым поиском, таким как LIKE '%bc%' приведет к полному сканированию таблицы.

Смежные вопросы:

Подстановочный знак полнотекстового поиска SQL Server

Как заставить ведущие полнотекстовые поисковые запросы работать в SQL Server?

Пытаться

select top 10 * from table where contains(*,'%bc%') 

или же

select op 10 * from table where COLUMN_NAME LIKE '%bc%'
Другие вопросы по тегам