【发布时间】:2011-01-14 23:52:08
【问题描述】:
我们在 SQL Server 中有一个包含近 40.000.000 条记录的大表。对它运行查询花费了相当长的时间。所以我们决定把所有旧的和过时的记录留在那里,把可用的记录移到一个新的表中,然后使用新的。虽然它应该比记录数几乎翻倍的旧表快,但有问题的结果是别的。 尽管在旧表上运行查询需要近 45 秒,但在具有相同结构(键和索引)和一半记录数的新表上,运行相同查询需要 30 多分钟。我们在哪里出错或遗漏了一些重要问题?
【问题讨论】:
-
您能否缩小问题范围并提供架构/索引和查询?
-
幸运或不幸的是,我对提到的数据库不负责任。我的一些朋友有这个问题。似乎他们忘记了在新表上重新生成统计信息,感谢 Justin Niessner 和其他人的帮助。
标签: database performance reduce