我知道这个问题没有那么好。
想知道什么是好的设计,我可以大大增加我的表格列。表格中有100列或200列吗?
答案 0 :(得分:4)
这完全取决于您正在建模的主题的性质。如果您需要一列,则需要一列;如果你需要500,那么你需要500.正确设计,你最终得到的表的大小将总是“恰到好处”。
它们有多大,表现良好,如果你需要更多的列,而不是物理上的东西,那么这些都是实现,维护和/或性能问题,这些都是不同的,二级主题。首先获取模型,然后担心实施。
答案 1 :(得分:3)
嗯,对于SQL Server 2005,根据Max Capacity Specifications,每个基表的最大列数是1024.这是一个很难的上限。
答案 2 :(得分:2)
您应该将表格规范化为至少第三范式(3NF)。那应该是你的主要指南。
答案 3 :(得分:0)
您应该考虑行大小。 100个稀疏列与100个varchar(3000)列不同。当您开始超过SQL Server可以存储在一个页面上的记录大小时,最好创建一个相关表(具有强制1-1关系)。
您还应该考虑如何查询数据。许多那些不经常需要返回的领域?他们是否有自然分组(认为一个人记录用户登录记录)并且自然分组会决定如何查询它们吗?在这种情况下,将它们分开可能会更好。
当然你应该考虑规范化。如果您要执行多个列以避免具有一对多关系和连接,那么即使您只有6列,也不应该这样做。连接(带索引的关键字段)优于非规范化表,一般情况下除数据仓库情况外。如果您不必添加新列,则更好,因为您需要存储新的电话类型。