4

我一直在生产服务器中遇到性能问题;在互联网上阅读它时,我遇到了@Brent Ozar 关于等待统计的文章。

我想尝试一下,但我不确定它运行起来有多安全。我的生产环境经常被 SSIS 作业占用,我不想杀死任何作业或服务器。所以,我有几个问题

  • 在服务器上运行查询或 SQL 作业时运行是否安全

DBCC SQLPERF("sys.dm_os_wait_stats",CLEAR);

DBCC SQLPREF("sys.dm_os_latch_stats",CLEAR);

  • 更新统计信息和清除等待统计信息有什么区别?
4

1 回答 1

4

清除等待统计信息对 SQL Server 的性能没有影响。它只会删除与累积等待统计信息相关的信息。现在您应该有充分的理由这样做,相信我很多 DBA 和 SQL Server 用户在解决性能问题时经常这样做。唯一的问题是您丢失了有关等待统计信息的有价值信息。但是有一种方法可以在清除等待统计信息运行之前克服它sys.dm_os_wait_stats并获取等待统计信息的当前输出现在清除它并开始监控。至少在清除之前你会有统计数据。

•更新统计和清除等待统计有什么区别?

他们都没有任何关系。统计数据(您通过更新统计数据引用的数据)是数据的分布。它是 SQL Server 数据的分布方式,并由 SQL Server 在基数估计中使用,并帮助优化器为查询准备成本基础 GOOD 计划。清除等待统计信息(关于查询等待的资源的统计信息)不会影响 SQL Server 数据分布统计信息。

于 2015-04-08T09:52:51.273 回答