最近我参与的一个项目中出现了50到126列的表格。
一个表格应该尽量少的包含列,还是将它们分离成新的表格并使用关联?这样做的优缺点是什么?
最近我参与的一个项目中出现了50到126列的表格。
一个表格应该尽量少的包含列,还是将它们分离成新的表格并使用关联?这样做的优缺点是什么?
一般来说,最好先设计表格以模拟数据需求并满足规范化的规则。然后再考虑优化,例如存储一行需要多少页等。
我同意其他人在这里发帖所说的,列数过多可能是您的表格未经适当规范化的潜在问题。但在这种情况下,它可能是可以接受的。根据你的描述,我们不能确定。
无论如何,仅因为大量列使您感到不安就将表拆分并不是正确的解决方法。这是否真正引起了任何缺陷或性能瓶颈?您需要进行测量以确保,而不是假设。
我可以想象有时可能需要拥有这么多或更多的列。 如果需要对数据进行去规范化和缓存,或者需要处理具有许多属性的行类型,则可以使用此类例子。 我认为关键是避免使用 select * 并确保正确索引所需的列和组合。
听起来你可能存在潜在的规范化问题。
如果你真的想的话,可以为每个列(有点极端)或相关列组创建一个新表,并将其与每个记录的ID进行连接。
如果人们在代码中频繁使用"Select * from GiantTableWithManyColumns",那么这肯定会影响性能...
表1中的列(合并发布) 246
表2中的列(SQL Server 快照或事务性发布) 1,000
表2中的列(Oracle 快照或事务性发布) 995
在一张表中,最多可以有246个列。
SharePoint中的UserData表有201个字段,但是它是为特定目的而设计的。
在我看来,普通表不应该这么宽。
你可能可以进一步规范化。并阅读一些关于表优化的网络文章。
不了解更多情况很难说。