Mik*_*yev 8 oracle alter-table
我需要将两个DATE列添加到现有表中.但这需要很长时间,我必须杀死这个过程.奇怪的是我能够暂时将这些列添加到同一数据库中的其他表中.这些表中的大多数都大于我在数据和列数方面遇到问题的表.我需要做些什么才能添加这些新列?
这是我如何解决问题.以前,我在添加它们时正在为列指定默认值.但后来我首先添加了没有默认值的列.添加列后,我指定了默认值,并立即执行,不再等待.非常感谢@Justin Cave提供有关默认值的提示.这是关键点.
我毫不怀疑这与以下事实有关:在添加列时指定默认值时,默认值将写入先前插入的所有记录.如果表中有500万条记录,该表将更新为为所有行的新添加列设置默认值.有人猜测,更新500万条记录的费用很高.但是,如果在添加列之后设置了默认值,则之前插入的行中新列的值将为NULL,因此不会进行更新.
| 归档时间: |
|
| 查看次数: |
10765 次 |
| 最近记录: |