一尘不染

如何将列添加到大型SQL Server表

sql

我在生产中有一个SQL Server表,它具有数百万行,事实证明我需要向其中添加一列。或者,更准确地说,我需要向表所代表的实体添加一个字段。

从句法上讲,这不是问题,如果表没有太多行并且不在生产中,这将很容易。

确实,我所追求的是采取行动。有很多网站,它们的表非常大,而且它们必须不时添加字段。他们如何在没有大量停机的情况下做到这一点?

我应该添加的一件事是,我不希望该列允许空值,这意味着我需要具有默认值。

因此,我要么需要找出如何及时添加具有默认值的列,要么需要找到一种以后可以更新该列,然后将该列设置为不允许为空的方法。


阅读 177

收藏
2021-03-17

共1个答案

一尘不染

ALTER TABLE table1 ADD
  newcolumn int NULL
GO

不应花费那么长的时间…需要很长时间的是在其他列的中间插入列… b / c然后引擎需要创建一个新表并将数据复制到新表中。

2021-03-17