Назад | Перейти на главную страницу

В чем большая разница между полнотекстовым поиском в SQL 2000 и SQL 2008

мой первый тест для получения данной базы данных с активированным полнотекстовым поиском, запущенным на sql2008, завершился неудачно, в результате чего он ползет. sql2008 занял несколько раз больше, чем sql2000, но почему?

Полнотекстовые движки в SQL 2000 и SQL 2008 совершенно разные.

В SQL 2000, когда вы отправляете полнотекстовый запрос в базу данных, он выполняет поиск по всему полнотекстовому индексу и возвращает все совпадающие строки обратно в полнотекстовый запрос, а затем фильтрует их по строкам, возвращаемым вашим запросом, используя обычную фильтрацию, которая вы поставили в качестве фильтров таблицы.

В SQL 2008 сначала применяются фильтры таблиц, затем эти идентификаторы строк отправляются в полнотекстовый поиск, а полнотекстовый поиск выполняется для строк, соответствующих поиску в таблице.

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

Также в SQL 2008 полнотекстовый индекс хранится в файле данных SQL, и поиск выполняется SQL Server Engine. В SQL Server 2000 полнотекстовый индекс хранится вне файлов базы данных, а поиск индекса обрабатывается сервером индексирования.

Для получения дополнительной информации вы можете увидеть опыт Брента с различиями и то, как затронутый StackOverflow Вот