Nic*_*nov 10
在Oracle 11g中,添加具有默认值的新列的过程已经大大优化.如果指定了新添加的列NOT NULL
,则在数据字典中维护该列的默认值,并且不再需要为表中的所有记录存储列的默认值,因此不再需要更新每个列记录默认值.这种优化大大减少了在操作期间表被独占锁定的时间量.
alter table <tab_name> add(<col_name> <data_type> default <def_val> not null)
Run Code Online (Sandbox Code Playgroud)
此外,添加该方式的默认值的列不会消耗空间,直到您故意开始更新该列或插入具有该列的非默认值的记录.因此,添加具有默认值和not null
约束的新列的操作非常快.