表大小效率

时间:2009-09-18 10:25:31

标签: sql-server-2008

我们正在对数据进行一些规范化,因为它在某些方面模块化。问题是桌子变得非常宽,到目前为止有400个左右的列。我已经看到最大数量是1024,但我有兴趣了解大表结构的分页。如果我们说1000列,但有些很大(例如varchar(max)),那么查询期间的速度是否会降低?它可能每天被访问数千次,因此确保它不会像分页这样做非常重要。

基本上,在我们注意到性能受到影响之前,我们可以获得的最大值是多少?

2 个答案:

答案 0 :(得分:1)

从技术上讲,这将取决于对该数据的查询,而我不太了解MS SQL Server的来龙去脉,如果对这样的表的所有查询只是查询主键索引它会很快。

更大的问题是有多少重复相同的varchar数据?它甚至在多个字段和记录中重复,通常你会想要将其分离到索引< - >数据表,然后在主表中使用整数索引。在所有整数查询比字符串匹配更快之后,它的数据存储更少。

答案 1 :(得分:0)

这取决于硬件,操作系统,行数,数据库配置,索引和查询本身 - 很多事情。

当谈到分页时,主要的问题是经常访问多少数据(这实际上是索引数据的 lot ,以及经常检索的行数据)与物理数据的对比记忆机器。

但就一般性能而言,确实需要考虑正在发布的查询类型。如果您在整个地方收到查询,每个查看不同的列,那么您将更容易地遇到性能问题。如果在大量查询中使用了一小组列,那么您可以使用它来以合理的数量提高性能。

请注意,如果您的表有大量重复数据,那么您应该检查数据库设计。