首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用统计信息自动更新的原因?

禁用统计信息自动更新的原因?
EN

Database Administration用户
提问于 2011-12-02 20:46:53
回答 7查看 7.1K关注 0票数 13

我刚刚了解到,我工作的一家客户端公司已经决定关闭一些SQL服务器的自动更新统计信息选项,并在出现性能问题时由DBA手动排除故障。

然而,这种做法对我来说毫无意义。为什么要阻止更新统计数据?

EN

回答 7

Database Administration用户

回答已采纳

发布于 2011-12-03 09:40:12

我的建议是:

  • 保持“自动更新状态”(直到您遇到一个非常好的理由不这样做)--您不希望在下次运行维护时删除一个大的删除来丢弃查询计划。
  • 然而,将索引维护/更新统计安排在一个安静的时间。sp_updatestats将为您更新数据库中所有表的所有状态,但这也会导致存储的proc重新编译,因此仔细选择您的时间(也就是说,在月底报告之前的sp_updatestats可能不是最优的)。

需要运行索引维护/重新生成统计数据的频率取决于数据库负载,特别是数据被修改的频率(即INSERT/UPDATE/DELETE). )。如果您正在修改整个显示中的数据(即每周批处理的暂存表),您可能希望每晚更新stats/reorganize。如果您的数据比较静态,您可能可以将其安排为每周或每两周一次。

票数 11
EN

Database Administration用户

发布于 2011-12-02 21:02:22

我只在一个糟糕的应用程序中见过一次,它的索引堆很糟糕,ETL也很重。

这是垃圾,幸运的不是我的。

否则,就没有理由了。

如果您在不适当的时间获得统计信息更新,那么这意味着您正在进行不正确的索引/统计维护,或者有大量的删除/加载达到阈值。

使用Server 2005+,您可以推迟统计数据的更新。

请参阅“何时使用同步或异步统计更新”

我很想看看他们写了些什么或者读过什么来做这个选择.

票数 7
EN

Database Administration用户

发布于 2011-12-02 21:45:40

我唯一一次关闭自动统计是当我使用一些没有文档的命令来创建一些假的统计数据,而我不希望系统在加载数据时被清除掉。这是个非常棘手的案子。

票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/8708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档