我们有一个很慢的数据库(MS SQL SERVER)。 现在我们知道,索引从来没有重build或重组。 (目前还不清楚这是否真的是问题,但我们现在要经常这样做。)
但现在的问题是:重build指数还是更好一些? 目前我们有超过90%的碎片,所以我做了重build。 但是,如果我想经常这样做,碎片通常会更低。 那么重新组织它而不是重build会更有意义吗? 你真的会在每个MS SQL Server上毫无例外地为此做出一个频繁的任务吗? 在所有MS SQL服务器上是否有意义?
有没有build议这个任务应该运行? 一个星期一次? 每月一次?
我也在博客中看到,在重build/重组之后,他们也是“更新统计”。 这是推荐还是废话? (我在博客上都find了 – >一个说:是的 – >其他:废话!)
你有什么经验? 这些任务(重build/重组/统计)是否需要大量的性能?
许多问题! 抱歉!
有大量的信息可以回答这些问题。 答案是:这取决于。 定期进行索引维护和统计更新至关重要,这是非常确定的。 不过,你必须根据你的环境做一些研究和调整,以及如何做。
作为一个好的开始,阅读这些:
斯基尔曼说了什么,还有,你可能要考虑使用奥拉·哈伦格的剧本 ,这些剧本只做必要的工作。 您可以在重build或重新组织之前自定义索引中的碎片数量,这样可以减less重新索引中涉及的工作量。
但是,是的。 这取决于你的环境,负载types(主要是select,大部分是插入/更新/删除)等。