额外的空列是否会显著影响sql表的大小?

额外的空列是否会显著影响sql表的大小?,sql,Sql,我有几个专栏,我知道一开始不会用到。只在需要时添加列,还是只保留那些额外的列,这是一种好的做法 只是页眉或每行的空间多一点吗?在某种程度上取决于列类型 可变大小的列(例如varchar(n))每行仅使用4个额外字节(大约) 我只会在需要时添加列,因为不太可能添加冗余列,也不会删除冗余列。是的,如果每行只有几个字节(取决于列类型),它们仍然会占用空间。如果您以后才使用它们,那么将它们保留在那里有什么好处呢?我想补充一点,尽管空列会占用空间(如其他答案中所述),但在处理大型数据库时,添加列并不是一件

我有几个专栏,我知道一开始不会用到。只在需要时添加列,还是只保留那些额外的列,这是一种好的做法


只是页眉或每行的空间多一点吗?

在某种程度上取决于列类型

可变大小的列(例如
varchar(n)
)每行仅使用4个额外字节(大约)


我只会在需要时添加列,因为不太可能添加冗余列,也不会删除冗余列。

是的,如果每行只有几个字节(取决于列类型),它们仍然会占用空间。如果您以后才使用它们,那么将它们保留在那里有什么好处呢?

我想补充一点,尽管空列会占用空间(如其他答案中所述),但在处理大型数据库时,添加列并不是一件容易的事。所以有时候,准备一个额外的列是很好的,即使它只是为了将来使用。

即使它们是空的?或者null我的问题应该是空字段或null字段是否占用空格是。空列和空列确实会占用空间。SQL Server 2008为稀疏表(即具有大量空列的表)提供了新的行压缩功能……除非您有大型表,否则我认为冗余列的可维护性问题比空间问题更重要。我经常看到DBs中可能有未使用的列,但开发人员担心在其他地方使用这些列(例如导出到另一个系统等)时会将其删除