Sql设计问题

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

要么

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

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

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

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

该表将容纳数十亿行

评论.

解决方法

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

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

所以这取决于你的建模.

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03