MSSQL-Server:重建与重组索引和更新统计信息

MSSQL-Server:重建与重组索引和更新统计信息

我们有一个非常慢的数据库(MS SQL SERVER)。现在我们发现,索引从未重建或重组过。(目前尚不清楚这是否真的是问题所在,但我们现在想经常这样做。)

但现在的问题是:重建索引好还是重新组织索引好?目前我们的碎片率超过 90%,所以我进行了重建。但如果我想经常这样做,碎片率通常会较低。那么重新组织索引而不是重建是否更有意义?你真的会在每个 MS SQL Server 上毫无例外地频繁执行此任务吗?在所有 MS SQL 服务器上这样做是否有意义?

有没有建议这个任务应该多久运行一次?一周一次?每月一次?

我还在博客中看到,重建/重组后他们还会进行“更新统计”。这是推荐的做法还是无稽之谈?(我在博客上找到了这两种做法。-> 一个说:是的,那就这样做 -> 另一个说:无稽之谈!)

您的经验是什么?这些任务(重建/重组/统计)是否占用大量性能?

问题太多!抱歉!

答案1

有大量信息可以回答这些问题。答案是:视情况而定。定期维护索引和更新统计数据至关重要,这一点是肯定的。不过,您必须根据您的环境进行一些研究,并根据情况调整如何以及何时进行维护。

作为良好的开始,请阅读以下内容:

答案2

正如 Squillman 所说,但你也可能想考虑使用类似Ola Hallengren 的剧本,它只做必要的工作。您可以在重建或重组索引之前自定义索引中的碎片量,这可以减少重新索引所涉及的工作量。

但确实如此。这取决于您的环境、负载类型(主要是选择、主要是插入/更新/删除)等。

相关内容