Добавление нового столбца в существующую таблицу в производстве - PullRequest
0 голосов
/ 26 октября 2018

Каков наилучший подход для добавления ненулевого столбца со значением по умолчанию в производственной базе данных Oracle, когда эта таблица содержит миллион записей и она является действующей.Создает ли он какие-либо блокировки, если мы создаем столбец, добавляя значение по умолчанию и делая его ненулевым в одном выражении?

1 Ответ

0 голосов
/ 26 октября 2018

Зависит от версии. Начиная с 11g, вы можете выполнить простую команду ALTER TABLE, и это не повлияет, значение по умолчанию не материализуется и не берется из словарной информации.

alter table tablename add columnname varchar2(2) default 'XX' not null;

Вышеприведенный оператор не выдаст обновления для всех записей таблицы [...] Когда пользователь выбирает столбец для существующей записи, Oracle получает факт о значении по умолчанию из словаря данных [...] ] и до сих пор не понесли никакого наказания за повтор и отмену генерации [...]

Источник здесь , глава "Добавление столбцов со значением по умолчанию"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...