我正在处理的当前项目有126列的表,我看到的最少的是至少50列.表是应该为每个表保留较少的列还是将它们分成新表并使用关系?
根据您的经验,每张桌子的最大列数是多少?这样的设计会影响数据库吗?
插口
通常,最好先设计表来建模数据要求并满足规范化规则. 然后担心优化,比如存储行所需的页数等.
我同意这里的其他海报,大量的列是潜在的红旗,你的表没有正确规范化.但在这种情况下可能没问题.我们无法从您的描述中说出来.
在任何情况下,只是因为大量的列让你感到不安而拆分表是不正确的补救措施.这真的会导致任何缺陷或性能瓶颈吗?你需要测量以确定,而不是假设.
我发现一个好的经验法则就是随着项目的继续,表是否在增长行,
例如:
在我正在进行的项目中,原始设计者决定将站点权限作为用户表中的列包含在内.
所以现在,随着网站上实现新功能,我们不断添加更多列.显然这不是最佳的.更好的解决方案是使用包含权限的表和用户之间的连接表以及分配它们的权限.
但是,对于其他更多的归档信息,或者根本不需要增长或需要缓存/最小化页面的表/可以有效地过滤,只要不妨碍大表就不会伤害太多维护项目.
至少这是我的意见.