MS SQL索引重建修复了超时问题



我们有一个MS SQL查询,它在联接方面相当复杂。它的目的是搜索特定类型的实体。我们最近花了一些时间来优化它并设置正确的索引。

尽管在某些时间点(没有注意到任何规则,因此似乎是任意的),web应用程序在使用此查询时开始超时。然后,我们可以进入数据库,重建SQL中包含的2个表的索引,然后它就会恢复正常。。。这种情况偶尔会发生。

现在请原谅我的无知,MSSQL是否应该在最佳时刻重建索引本身?否则,一旦达到某种程度的碎片化,我们是否需要安排运行索引维护?请忽略我的问题,引导我朝着正确的方向前进。

提前谢谢。

生产系统应该有定期的统计维护,可能还有一些不太频繁的索引维护。

由于SQL Server(目前)没有为您开箱即用地执行此操作,因此请实现Ola Hallegren的索引和统计信息维护脚本。DBA使用这些。

我以前每周重建索引,但现在更喜欢每晚更新统计信息,并且执行索引重建的频率更低。

我每周对所有碎片索引(>50%)进行重建,并在需要时进行夜间作业,以维护大量使用(和大量插入)的表。所有碎片化索引(>5%)和夜间作业(需要时),以维护频繁使用(和重量插入)的表格