0

该表有 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 移动到单独的表并将其主键存储在原始表中会有所帮助吗?

提前致谢。

4

1 回答 1

0

我不认为将最后 2 列移动到另一个表会提高性能。只要您对更频繁访问的列(如 ID、ItemValue 等)有适当的索引,就不会出现任何性能问题。

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

可能是 ID 将是主键(聚集索引) ItemValue - 非聚集等级 - 非聚集

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

于 2012-11-26T10:27:30.903 回答