Мне было предложено изучить ручную процедуру, которую каждый из моих коллег постоянно делает.Добавление столбцов - таблицы SQL Server
Ему иногда нужно добавить новый столбец на большой стол (200 миллионов строк), для этого требуется более 1 часа. Прежде чем спросить, да, столбцы имеют значение NULL, но иногда новый столбец будет содержать 90% данных.
Вместо добавления нового столбца в существующую таблицу, он ...
- создает новую таблицу
- Select (*) из старой таблицы (вставляет новый)
- Добавляет новый колонка в качестве части его сценария
Затем он удаляет старую таблицу и переименовывает новую таблицу обратно в исходное, добавляет индекс и затем сжимает. Он говорит это гораздо быстрее.
Если это лучший способ, то я постараюсь написать пакет SSIS, чтобы попытаться сделать процесс более цельным
Любые советы приветствуются!
Благодаря
Обновлена ли исходная таблица? –
Да - исходная таблица обновляется ежемесячно прямо сейчас, но скоро изменится на еженедельно – Easy987us
Почему вы так часто добавляете новый столбец? Вероятно, это можно было бы лучше решить, слегка изменив структуру данных на что-то более нормализованное. Можете ли вы опубликовать определение таблицы и причины появления новых столбцов? – iamdave