Когда SQL Server переходит в пустую таблицу с индексом, что он делает внутри? - PullRequest
4 голосов
/ 29 сентября 2010

Если у меня есть пустая таблица с индексом и я выполняю bcp, SQL Server (внутренне) удаляет / отключает индекс, загружает данные и затем повторно применяет / включает / строит индекс?

Ответы [ 2 ]

8 голосов
/ 29 сентября 2010

Нет, индексы поддерживаются на протяжении всей операции. Фактически, Microsoft говорит, что вы можете улучшить производительность bcp, используя подсказку -h ORDER для сортировки данных по кластерному индексу. Подробнее см. Документацию bcp Utility . Однако, как указано здесь , для максимально быстрого импорта необходимо выполнить следующие шаги:

· «Выбрать в / массовая копия» Для параметра базы данных должно быть установлено значение "true".

· Таблица назначения не должна есть какие-либо индексы. [выделение добавлено]

· Целевая таблица не должна быть опубликовано для тиражирования.

· Используйте ЗАМОК, чтобы заблокировать целевой стол.

3 голосов
/ 29 сентября 2010

Нет, это не так, но он сделает все возможное, чтобы сделать это как можно быстрее. Также вы можете немного помочь, следуя некоторым основным рекомендациям (см. http://msdn.microsoft.com/en-us/library/ms177445.aspx).

...