Sql server 表中具有大数据和其他较小数据列的列
该表有5列,3列为int数据类型,其他2列预计存储大约5MB到10MB的字符串数据Sql server 表中具有大数据和其他较小数据列的列,sql-server,database-design,Sql Server,Database Design,该表有5列,3列为int数据类型,其他2列预计存储大约5MB到10MB的字符串数据 Table ------ ID int ItemValue int Grade int PrimaryDesc nvarchar(max) -- will hold big data SecondaryDesc nvarchar(max) -- will hold big data 现在我的问题是,离开桌子,让它成长,可以吗?当我获取数据时,我将通过ADO.Net仅获取必填字段(数据)(即,当用户需要
Table
------
ID int
ItemValue int
Grade int
PrimaryDesc nvarchar(max) -- will hold big data
SecondaryDesc nvarchar(max) -- will hold big data
现在我的问题是,离开桌子,让它成长,可以吗?当我获取数据时,我将通过ADO.Net仅获取必填字段(数据)(即,当用户需要短数据时,仅获取ID、ItemValue和Grade列值,并且仅当用户请求详细视图时才会查询大数据列)
如果所有列都在一个表中,是否会出现性能问题?您认为将PrimaryDesc和SecondaryDesc移动到一个单独的表中并将其主键存储在原始表中会有任何帮助吗
提前感谢。我不认为将最后两列移动到另一个表会提高性能。只要您对更频繁访问的列(如ID、ItemValue等)有适当的索引,就不会有任何性能问题 所以我建议保持表结构不变并进行查询,但要确保有适当的索引 可能是ID将是主键(集群索引) ItemValue-非群集 等级-非聚集 这仅适用于一种情况。可能您还可以根据查询表的方式创建复合索引