ONLINE добавление нового столбца с DEFAULT значением в SQL Server 2012

ONLINE добавление нового столбца с DEFAULT значением в SQL Server 2012Автор: Alexey Knyazev

В версиях SQL Server 2008R2 и ниже операция добавления нового столбца NOT NULL с DEFAULT-значением может занять значительное время, если таблица имеет большой размер. Для небольших таблиц эта операция допустима, но, когда объём данных в таблице велик, то мы получаем блокировку Sch-M для таблицы на длительное время, т.к. при этой операции происходит построчное заполнение нового столбца значением по умолчанию.

В SQL Server 2012 ситуация кардинально изменилась, теперь при добавлении в таблицу нового NOT NULL столбца с DEFAULT-значением мы не производим физического изменения данных построчно, а лишь изменяем таблицу на уровне метаданных, поэтому операция практически мгновенна.

Демонстрацию можно найти по ссылке

Запись опубликована в рубрике Полезно и интересно с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: