Answers:
我的建议:
sp_updatestats
会为您更新数据库中所有表的所有统计信息,但这也会导致存储的proc重新编译,因此请谨慎选择时间(即sp_updatestats
,在月末报告可能不理想之前)。您需要多久运行一次索引维护/重建统计信息,具体取决于数据库负载,尤其是数据修改的频率(即INSERT
/ UPDATE
/ DELETE
)。如果您要修改整个节目的数据(即每周批处理的临时表),则可能要每晚更新统计信息/重新组织索引。如果您的数据比较静态,则可以每周或每两周进行一次调度。
我只在一个不良的应用程序中看到过一次,该应用程序的索引索引不好并且ETL很大。
这是垃圾,幸运的是不是我的。
否则,没有理由。
如果您在不适当的时间获取统计信息更新,则意味着您执行的索引/统计信息维护不正确,或者具有大量删除/加载次数达到阈值的操作。
使用SQL Server 2005+,您仍然可以延迟统计信息更新。
请参阅“何时使用同步或异步统计信息更新”
看到他们关注或读了哪些文章以做出这一选择很有趣...
在过去的日子(SQL Server 2000)中,当SQL决定进行统计信息更新时,启用自动更新统计信息设置可能会导致OLTP应用程序出现较大的“暂停”。
从SQL Server 2005开始,有一个异步选项,当统计信息过时并随后重新编译时,该选项将不会导致“暂停”。这些统计信息将在下次需要时以异步方式重新编译。
请记住,尽管有一个平衡点-对于大型数据集,您可能希望当前查询考虑最新的统计信息,因为效率低下的查询计划可能使查询花费的时间成倍增加。
您还可以使用SQL Server发布的perfmon计数器监视每秒重新编译的次数以及其他关键性能指标,正如他们所说,证明在布丁中。
系统有多活跃?
如果它们主要是读取系统,那么您可能无需更新就可以解决问题,如果它们在更改数据(插入,更新,删除)时碰巧手动执行此操作。
但是,出于最佳实践的考虑,建议您保持原样,因为我认为它很少会成为性能问题。我可能会向他们发送文章和博客文章,建议将其保留。金伯利·特里普(Kimberly Tripp)有一些不错的选择。
尽管我绝不会以任何方式与MrDenny发生冲突(也不会故意)(过分尊重他的知识和对社区的贡献),但我注意到MS文档建议关闭自动更新统计信息。
MS建议在存储和SQL Server容量规划和配置(SharePoint Server 2010)中将其设置为关闭。
我也阅读了MS对于SP的早期版本的相同建议,但暂时找不到链接。
但是我不是SP专家DBA,因此您可能还想检查一下MS Permier现场工程师Chun Liu在SharePoint上的Chun Liu上要说些什么,或者只是忽略此帖子并保留它。