oracle – 使用默认值添加列
发布时间:2020-12-12 16:26:03 所属栏目:百科 来源:网络整理
导读:我有一张表A(3列),约有1000万条记录.我想在该表中再添加一列,并且我希望将默认值设置为1.是否会影响生产数据库性能如果添加默认值为1的列或其他内容.什么是最好的方法来避免对DB的任何性能影响?你的想法非常感谢!! 在Oracle 11g中,添加具有默认值的新列的过
我有一张表A(3列),约有1000万条记录.我想在该表中再添加一列,并且我希望将默认值设置为1.是否会影响生产数据库性能如果添加默认值为1的列或其他内容.什么是最好的方法来避免对DB的任何性能影响?你的想法非常感谢!!
在Oracle 11g中,添加具有默认值的新列的过程已经大大优化.如果新添加的列被指定为NOT NULL,则该列的默认值将保留在数据字典中,并且不再需要为表中的所有记录存储列的默认值,因此不再需要它使用默认值更新每条记录.这种优化大大减少了在操作期间表被独占锁定的时间量.
alter table <tab_name> add(<col_name> <data_type> default <def_val> not null) 此外,添加该方式的默认值的列不会消耗空间,直到您故意开始更新该列或插入具有该列的非默认值的记录.因此,添加具有默认值且未指定null约束的新列的操作非常快. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |