Добавление ИЛИ поисков с помощью CONTAINS приносит запрос на сканирование

У меня есть простой запрос, который опирается на две полнотекстовые индексированные таблицы, но он работает очень медленно, когда у меня естьСОДЕРЖИТ в сочетании с любыми дополнительнымиИЛИ ЖЕ поиск. Как видно из плана выполнения, два полнотекстовых поиска снижают производительность. Если я запрашиваю только 1 из КОНТЕЙНОВ или ни того, ни другого, запрос будет менее секунды, но в тот момент, когда вы добавитеИЛИ ЖЕ в смесь запрос становится злополучным.

Эти две таблицы не являются чем-то особенным, они не слишком широкие (42 столбца в одной, 21 столбец в другой; возможно, 10 столбцов являются индексированными FT в каждой) или даже содержат очень много записей (36 тысяч записей в самой большой из двух).

Я смог решить производительность, разделив дваСОДЕРЖИТ ищет в своихВЫБРАТЬ запросы, а затемUNION три вместе. Является ли это решение от UNION моей единственной надеждой?

Благодарю.

SELECT     a.CollectionID
FROM       collections    a
INNER JOIN determinations b ON a.CollectionID = b.CollectionID 
WHERE      a.CollrTeam_Text LIKE '%fa%'
           OR CONTAINS(a.*, '"*fa*"')
           OR CONTAINS(b.*, '"*fa*"')

План выполнения (думаю, мне нужно больше репутации, прежде чем я смогу опубликовать изображение):http://yfrog.com/7dslowcontainsj http://desmond.yfrog.com/Himg265/scaled.php?tn=0&server=265&filename=slowcontains.jpg&xsize=640&ysize=640

Ответы на вопрос(1)

Ваш ответ на вопрос