Oracle – 向表中添加列需要永远
发布时间:2020-12-12 13:09:23 所属栏目:百科 来源:网络整理
导读:我需要将两个DATE列添加到现有表中.但这需要很长时间,我必须杀死这个过程.奇怪的是我能够暂时将这些列添加到同一数据库中的其他表中.这些表中的大多数都比我在数据和列数方面都遇到问题的表大.我需要做些什么才能添加这些新列? 这是我如何解决问题.以前,我
我需要将两个DATE列添加到现有表中.但这需要很长时间,我必须杀死这个过程.奇怪的是我能够暂时将这些列添加到同一数据库中的其他表中.这些表中的大多数都比我在数据和列数方面都遇到问题的表大.我需要做些什么才能添加这些新列?
这是我如何解决问题.以前,我在添加它们时正在为列指定默认值.但后来我首先添加了没有默认值的列.添加列后,我指定了默认值,并立即执行,不再等待.非常感谢@Justin Cave提供有关默认值的提示.这是关键点.
我毫不怀疑这与以下事实有关:在添加列时指定默认值时,默认值将写入先前插入的所有记录.如果表中有500万条记录,该表将更新为为所有行的新添加列设置默认值.有人猜测,更新500万条记录的费用很高.但是,如果在添加列之后设置了默认值,那么之前插入的行中新列的值将为NULL,因此不会进行更新. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |