【问题标题】:Why a larger table is faster than new smaller one?为什么大表比新的小表快?
【发布时间】:2011-01-14 23:52:08
【问题描述】:

我们在 SQL Server 中有一个包含近 40.000.000 条记录的大表。对它运行查询花费了相当长的时间。所以我们决定把所有旧的和过时的记录留在那里,把可用的记录移到一个新的表中,然后使用新的。虽然它应该比记录数几乎翻倍的旧表快,但有问题的结果是别的。 尽管在旧表上运行查询需要近 45 秒,但在具有相同结构(键和索引)和一半记录数的新表上,运行相同查询需要 30 多分钟。我们在哪里出错或遗漏了一些重要问题?

【问题讨论】:

  • 您能否缩小问题范围并提供架构/索引和查询?
  • 幸运或不幸的是,我对提到的数据库不负责任。我的一些朋友有这个问题。似乎他们忘记了在新表上重新生成统计信息,感谢 Justin Niessner 和其他人的帮助。

标签: database performance reduce


【解决方案1】:

您是否记得从较大的表中迁移索引并在新表上重新生成统计信息?

如果没有,请从那里开始。这通常是这些情况下的问题(尤其是大型表)。

【讨论】:

    猜你喜欢
    • 2011-02-24
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 2013-07-11
    • 2019-04-23
    • 1970-01-01
    • 2011-03-21
    相关资源
    最近更新 更多