我继承了执行以下操作的维护计划:
在 23 分钟的维护计划中,更新统计数据需要惊人的 13 分钟。在这 13 分钟期间,对数据库的访问被阻止(或者至少,从这个数据库到我们其他数据库的复制被暂停)。
我的问题是:
我们什么时候应该更新统计数据,为什么?
这似乎是我们应该比每天少做的事情。我试图让我们摆脱“仅仅因为”做不必要的维护的心态。
如果您没有它的维护窗口,那么每天更新统计数据可能有点矫枉过正。 特别是如果您为数据库打开了自动更新统计信息。在您原来的帖子中,您说用户看到此维护计划导致性能下降。是否没有其他时间来运行此维护计划?没有其他窗口?我看到你的计划包括索引重组,你什么时候重建索引?当该操作发生时,统计信息会自动更新(前提是没有为索引关闭)。
您应该多久更新一次统计信息在很大程度上取决于您的索引和数据接收到的数据修改量。如果对数据的修改很少 ( INSERT, UPDATE, DELETE),那么更新统计作业的计划可能会更不频繁。
找出您的统计数据是否过时的一种方法是查看执行计划,如果您估计的行与返回的实际行有很大差异,那么这很好地表明需要提高间隔。在您的情况下,您将走另一条路,可能需要进行一些试验。每周更新统计数据,如果您开始看到陈旧统计数据的迹象,请从那里开始。