我们保留在表中的字段数

时间:2010-05-13 13:09:57

标签: mysql database

一个表中可以有多少个字段,

我应该在一张桌子上保持150场是好方法,

OR

维持与其他表的关系,

由于 Bharanikumar

4 个答案:

答案 0 :(得分:4)

在绝大多数情况下,在一个表中有150列是一个严重非规范化数据库的症状。

您可能需要阅读this并重新评估数据库设计。

按照您的条款,请使用“维持与其他表格的关系”

答案 1 :(得分:3)

答案 2 :(得分:0)

如果您的业务需要有150列,那么这是一个“好方法”。我从未见过这样的业务需求,但这并不意味着一个人不存在。我已经看到在olap类型的情况下使用非常宽的表格,所以如果这就是你正在做的事情,那么你很有可能走在正确的轨道上。如果你使用这个表来获得更多的功能,那么你可能会走错路。也许如果你提供了一些关于你想要完成什么的更多信息,我们可以提供一些建议(而不是“做那个”或“以不同的方式做”)。

答案 3 :(得分:0)

150位类型字段可能没问题,但您还必须考虑数据库允许您存储的记录的最大长度。对于varchar字段,大多数数据库都允许您创建一个理论上违反最大值的表,如果所有字段都填充到其最大长度。但是,它不会让你实际添加太长的记录。这种陷阱可以很好地存在多年,直到有人将一个角色过多放入潜在的插入物然后爆炸,并且通常需要很长时间才能找到修复这样的问题。最好避免设计一个表格,其中列的总长度大于最大记录字节的长度。

较宽的表也可以更快地查询。

另外150列通常是您真正需要查看设计并查看相关表格是否更好的标志。例如,如果你有phone1,phone2,phone3,那么你需要一个相关的电话表。

如果你真的需要所有150列,请考虑最常见的可能是哪些列。把那些inteh父表。然后将较少查询的(或仅与特定函数相关的列)添加到相关表中。没有理由不在表之间建立1-1关系,只需使用parante表中的id,子表中的PK以及父表的FK。