gpt4 book ai didi

oracle - 添加具有默认值的列

转载 作者:行者123 更新时间:2023-12-04 17:22:25 26 4
gpt4 key购买 nike

我有一张 table A (3 列)正在生产中,大约有 1000 万条记录。我想在该表中再添加一列,并且我想将默认值设为 1。如果添加默认值为 1 或其他值的列,它是否会影响生产数据库性能。避免对数据库产生任何性能影响的最佳方法是什么?非常感谢您的想法!!

最佳答案

在 Oracle 11g 中,添加具有默认值的新列的过程得到了显着优化。如果新添加的列指定为 NOT NULL ,该列的默认值保留在数据字典中,不再需要为表中的所有记录存储列的默认值,因此不再需要 更新 每条记录都有一个默认值。这种优化大大减少了在操作期间独占锁定表的时间量。

 alter table <tab_name> add(<col_name> <data_type> default <def_val> not null)

此外,以这种方式添加默认值的列不会占用空间,直到您故意开始更新该列或为该列插入具有非默认值的记录。所以添加一个默认值和 not null的新列的操作指定的约束很快完成。

关于oracle - 添加具有默认值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19235210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com