Подтвердить что ты не робот

Рекомендации по отслеживанию изменений индексирования полного текста sql-сервера и совокупности

У меня есть две таблицы, в которых есть миллионы записей.
Я хочу, чтобы в полнотекстовом поиске находилось несколько столбцов (в основном имена и фамилии). Однако обе эти таблицы по сути получают стирание и замену старым пакетом DTS за выходные.
У меня было отслеживание изменений, настроенное на автоматическое, и когда указанная DTS побежала, таблица была заблокирована и все запросы не удались.

Итак, я хотел бы сделать это правильно. Какие настройки или планирование следует использовать для отслеживания изменений в FTS и для населения? Должен ли я отключить отслеживание изменений, а затем запланировать полную численность после импорта DTS?

Кроме того, в чем разница между "отслеживанием изменений" и "населением" и как они связаны?
Как работает индекс, если отслеживание изменений отсутствует?
Включает ли полное население индексы, даже если отслеживание изменений отключено?

4b9b3361

Ответ 1

Существует несколько способов приблизиться к численности индекса, когда таблицы убираются в выходные дни. Один из вариантов заключается в том, чтобы отказаться от полнотекстового индекса в таблице перед его очисткой и повторно создать индекс после замены старого пакета DTS. Другой вариант - изменить индекс, чтобы установить CHANGE TRACKING в MANUAL. После того, как таблица была протерта и повторно заполнена, популяция индекса индекса может быть вызвана вызовом индекса ALTER FULLTEXT... START UPDATE POPULATION. Я предпочитаю последнее (не забудьте reset отслеживать изменение в AUTO, если эта таблица видит много обновлений).

Разница между CHANGE_TRACKING и POPULATION -

CHANGE_TRACKING указывает, когда и если изменения, внесенные в таблицу, распространяются на полнотекстовый индекс. Его можно установить на AUTO, MANUAL или OFF.

ПОПУЛЯЦИЯ имеет значение только в том случае, если для CHANGE_TRACKING установлено значение MANUAL или OFF.

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

Параметр OFF указывает, что SQL Server не отслеживает измененные данные, вместо этого индексируя таблицу только один раз во время вызова команды. Когда NO POOPULATION задано с CHANGE_TRACKING, установленным на OFF, полнотекстовые индексы остаются незаполненными до тех пор, пока пользователь не вызовет ALTER FULLTEXT INDEX с предложением START FULLTEXT POPULATION или START INCREMENTAL POPULATION.

CREATE FULLTEXT INDEX Статья MSDN охватывает все эти опции более подробно.