我有一个生产中有数百万行的SQL Server表,事实证明我需要添加一列到它。或者,为了更加准确,我需要为该表所代表的实体添加一个字段。如何添加一列到大型sql服务器表
从句法上讲,这不是问题,如果表没有那么多行并且没有在生产中,这很容易。
真的,我所追求的是行动的过程。有很多网站都有非常大的表格,他们必须不时地添加字段。他们如何在没有实质性停机的情况下做到这一点
我应该补充一件事,我不希望列允许空值,这意味着我需要一个默认值。
因此,我需要弄清楚如何及时添加一个默认值的列,或者我需要找出一种方法来稍后更新列,然后将列设置为不允许空值。
你知道吗,你是对的。只要该列的值为NULL,那么它的添加速度非常快。但是如果我得到一个默认值,它需要很长时间。所以我需要计划的真正问题是如何向列添加默认值。 – 2009-10-29 17:33:07
添加列,然后执行相对较小的UPDATE批次以使用默认值填充列。这应该防止任何明显的减速。 – 2009-10-29 17:36:55
感谢Agent_9191,这似乎是一个相当不错的方法。 – 2009-10-29 17:39:22