【问题标题】:SQL Server 2008 large table performanceSQL Server 2008 大表性能
【发布时间】:2011-03-17 23:08:27
【问题描述】:

我在一个单独的文件组中有这个相对较大的表(2 GB,嗯,它不是那么大,但我认为它足够大,可以开始考虑性能,因为它是一个重型表)。

这是该文件组中唯一的表。

现在文件组只包含一个数据文件。

假设表索引良好并且索引碎片几乎为零,如果我将文件组拆分为两个数据文件,它会提高性能(对于 select 和 insert 语句),但让这两个数据文件驻留在同一个物理磁盘上(因为我没有可用的磁盘阵列)?

或者,当您可以将这些文件拆分到单独的物理磁盘上时,拆分为多个文件只是一种改进?

感谢您的任何回复。

ps:必须补充一下,我们使用的是标准版,所以表分区是不行的

马修

【问题讨论】:

  • 投票迁移到 serverfault,因为他可能会在那里得到更好的答案。

标签: performance sql-server-2008 io disk


【解决方案1】:

如果您要拆分索引/数据,您确实需要有单独的心轴/LUN

要打破“每个文件一个线程”的神话,请从Paul Randall 阅读这些内容。

【讨论】:

    【解决方案2】:

    对于您所描述的情况,我怀疑您能否准确衡量差异,因为它微不足道。您将需要一个具有特定繁重工作负载的高端数据库来处理您正在遭受 SGAM / GAM 争用的想法。 GBN 正确地表明您需要在单独的主轴上使用它才能看到合适的差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多