Создание индекса SQL-сервера и включение индекса

Имейте таблицу в sql server 2008 r2 с примерно 50 миллионами записей. Вставка в таблицу через SSIS занимает много времени, потому что у меня есть пять некластеризованных индексов в этой таблице, которые я не могу удалить. Мысль об удалении и создании индекса до и после запуска пакета ssis, но это также занимает много времени. Хотите понять, повысит ли производительность отключение и включение индекса?


person diptarana mitra    schedule 21.07.2015    source источник
comment
что заставляет вас думать, что индексы вызывают низкую производительность?   -  person Greg    schedule 22.07.2015
comment
когда я удаляю индекс и загружаю данные, он занимает 1% времени, которое требуется для загрузки с индексом   -  person diptarana mitra    schedule 22.07.2015


Ответы (1)


Взгляните на ответ JNK ниже
https://dba.stackexchange.com/questions/19890/when-should-indexes-be-dropped-and-recreated

  1. ОТКЛЮЧИТЬ некластеризованные индексы, оставив кластеризованный индекс нетронутым
  2. Выполните загрузку необработанных данных в таблицу данных
  3. ВОССТАНОВЛЕНИЕ индексов ЧПУ
person AeyJey    schedule 21.07.2015
comment
Даже отключение и пересборка не помогают... есть ли у нас другие варианты? - person diptarana mitra; 23.07.2015
comment
Используете ли вы предложение ORDER BY в своем выборе? (Отсортирован ли ввод?) Если ДА, попробуйте вставить несортированный Если НЕТ, попробуйте вставить Сортированный - person AeyJey; 23.07.2015
comment
Я пытаюсь загрузить данные из плоского файла, и они не отсортированы. У меня нет контроля над запросами выбора, выполняемыми над таблицей. :( - person diptarana mitra; 29.07.2015
comment
Поскольку вы загружаете из плоского файла, пробовали ли вы загружать данные с помощью BCP? - person AeyJey; 18.08.2015
comment
см. Импорт данных в таблицу здесь - simple-talk.com/sql/database-administration/ - person AeyJey; 18.08.2015