在 SQL Server 中添加可为空的列时,幕后会发生什么?

Tec*_*270 6 sql-server-2008 sql-server

这个问题今天出现了。当您将接受空值的列添加到表的末尾时,究竟会发生什么?表是否完全重建,类似于更改列顺序时发生的情况?

Mar*_*ith 6

不。

这是 SQL Server 2008 中仅元数据的更改。请参阅添加和删​​除列时的数据大小操作

SQL Server 2012 还可以添加具有默认值的不可为空的列,而不必更新所有行,但是在 2012年的某些情况下,添加可空列不再只是元数据更改。