У меня проблемы с полнотекстовым поиском SQL Server, работающим слишком медленно.SQL Server полностью текстовый поиск слишком медленный
Это занимает около минуты, чтобы запустить полнотекстовый поиск и JOIN запросов (смотри ниже)
select * from
(SELECT
(row_number() over (order by b.BookKey)) as RowNumber,
p.PublishCity,
b.BookKey,
b.BookTitle
from
Books b (nolock)
inner join PublishedRegions p (nolock)
on b.BookKey = p.BookKey
where
contains(p.PublishCity, 'France') or
contains(b.BookTitle, 'France')
) as t1
where
RowNumber between 200 and 210
- Для справки, существует около 500к строк в книгах таблицы и PublishedRegions таблицы
- Я не мог поместить PublisherCity в таблицу Books, потому что SQL Server позволяет вам определять только один полнотекстовый индекс для каждой таблицы.
- Примечание: Последняя часть RowNumber между 200 и 210 была просто вставлена произвольно. Я мог бы выбрать любой набор строк, и результаты все равно занимают много времени.
- Таблица книг имеет полнотекстовый индекс в BookName NVARCHAR (255)
- ОпубликованоРегионы имеют полный текстовый индекс в PublisherCity NVARCHAR (255).
Любые идеи, как улучшить производительность этого?
Спасибо!
какая версия сервера Sql вы используете –