我需要将两个DATE列添加到现有表中.但这需要很长时间,我必须杀死这个过程.奇怪的是我能够暂时将这些列添加到同一数据库中的其他表中.这些表中的大多数都比我在数据和列数方面都遇到问题的表大.我需要做些什么才能添加这些新列?
这是我如何解决问题.以前,我在添加它们时正在为列指定默认值.但后来我首先添加了没有默认值的列.添加列后,我指定了默认值,并立即执行,不再等待.非常感谢@Justin Cave提供有关默认值的提示.这是关键点.
我毫不怀疑这与以下事实有关:在添加列时指定默认值时,默认值将写入先前插入的所有记录.如果表中有500万条记录,该表将更新为为所有行的新添加列设置默认值.有人猜测,更新500万条记录的费用很高.但是,如果在添加列之后设置了默认值,那么之前插入的行中新列的值将为NULL,因此不会进行更新.
原文地址:https://www.jb51.cc/oracle/205249.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。