Sql设计问题

我有一个包含25列的表,其中20列可以为某些(30-40%)行提供空值.
现在拥有20个空列的行的成本是多少?这个可以吗?

要么

有另一个表来存储这20个列并在第一个表中添加ref是一个很好的设计吗?
这样我只会在有值时写入第二个表.

我正在使用sql Server 2005.将来会迁移到2008.

只有20列是varchar,其余是smallint,smalldate

我正在储存什么:
这些列存储它所属的行的不同属性.这些属性有时可以为null.

该表将容纳数十亿行

评论.

解决方法

您应该描述要存储的数据类型.听起来这些列中的一些应该移动到另一个表.

例如,如果您有多个列代表同一类型数据的多个列,那么我会说将其移动到另一个表另一方面,如果您需要这么多列来描述不同类型的数据,那么您可能需要保持原样.

所以这取决于你的建模.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...