列中包含大数据以及表中的其他较小数据列

时间:2012-11-26 10:11:53

标签: 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获取必需的字段(数据)(即,当用户需要仅提供短数据ID时,将获取ItemValue和Grade列值,并且仅在详细视图时才会查询大数据列用户要求)

是否存在预期在单个表中包含所有列的性能问题?您是否认为将PrimaryDesc和SecondaryDesc移动到单独的表并将其主键存储在原始表中会有任何帮助?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我不认为将最后两列移动到另一个表将改善性能。只要您有更频繁访问ID,ItemValue等列的适当索引,就不会出现任何性能问题。

所以我建议保持表结构不变并查询它。但要确保你有适当的索引。

可能是ID是主键(clustered inddex) ItemValue - 非群集 成绩 - 非成群

这仅适用于一种情况。您也可以根据查询表格的方式创建复合索引。