【问题标题】:What does exec sp_updatestats do?exec sp_updatestats 做什么?
【发布时间】:2014-06-19 21:12:15
【问题描述】:

sp_updatestats 有什么用?我可以在生产环境中运行它以提高性能吗?

【问题讨论】:

    标签: sql sql-server database-performance


    【解决方案1】:

    sp_updatestats 更新数据库中所有表的所有统计信息,其中甚至有一行已更改。它使用默认样本执行此操作,这意味着它不会扫描表中的所有行,因此它产生的统计数据可能不如其他方法准确。

    如果您有包含“重建索引”的维护计划,它还会刷新统计信息,但更准确,因为它会扫描所有行。重建索引后无需重建统计信息。

    使用update statistics 命令手动更新特定统计对象或表可以让您更好地控制流程。要使其自动化,请查看here

    自动更新仅在优化器决定必须触发时触发。 2012 年的数学发生了变化:在

    总而言之,sp_updatestats 实际上弊大于利,是最不推荐的选择。

    【讨论】:

    • +1 用于纠正我的误解。我认为 sp_updatestats 的工作原理与自动更新统计数据相同(即 20% 的变化)。谢谢!
    • @dean 我对您对此后果的担忧很感兴趣? “实际上可以造成更多的伤害,这是最不推荐的选择。” - 似乎唯一的问题是它可能会执行您的维护计划已经执行的操作,或者效率低下,但是如果替代方案是无响应的 SQL 服务器实例,那么问题有多大?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多