2

我使用的是 MS Sql Server 2000,当我在查询分析器中运行查询时,在打开统计信息的情况下,对于许多查询,统计信息选项卡中报告的数字与查询探查器中显示的值大不相同。当分析器和分析器同时运行时,一些查询在分析器中报告 200 次读取,而分析器报告查询执行 14000 次读取。根据查询性能,在我看来 Profiler 是正确的。但是,为什么两者之间会出现如此大的差异?有没有其他人有同样的事情发生的经验?

4

1 回答 1

1

这两个实用程序做不同的事情:

  • SQL Profiler监视正在发生的事情并报告它。

  • 查询分析器查看 SQL 代码并确定如何运行它。

查询分析器使用统计数据来确定它要做什么,但结果是一个行动计划,即使显示了统计数据。

SQL Profiler 事后报告所发生的事情——它更准确,但具有追溯性。

如果您发现查询分析器变得非常不准确,请尝试更新您的统计信息。

于 2008-10-09T14:37:14.623 回答