小编典典

有很多列的表

sql

如果我的表中有大量的列(超过80个),我应该将其拆分为具有1对1关系的几个表,还是保持原样?为什么?我主要关心的是性能。

PS-我的桌子已经是第3普通表格了。

PS2-我正在使用MS Sql Server 2008。

PS3-我不需要一次访问所有表数据,而是在该表中有3种不同类别的数据,我可以分别访问这些数据。它类似于:成员首选项,成员帐户,成员个人资料。


阅读 162

收藏
2021-04-22

共1个答案

小编典典

80列确实不是很多…

从性能的角度来看,我不会担心。拥有一个表(如果您通常在标准操作中使用所有数据)可能会胜过具有1-1关系的多个表,尤其是在索引适当的情况下。

不过,从维护的角度来看,我会为此担心(可能)。单个表中的数据列越多,该表在大方案中的作用就越难以理解。另外,如果您通常只使用一小部分数据,并且并非总是需要全部80列,则拆分为2个以上的表可能会提高性能。

2021-04-22