我想调优一个生产SQL服务器。在进行调整(比如改变并行度)之后,我想知道这是有助于还是有损于查询执行时间。
这似乎是一个显而易见的性能计数器,但在过去的半个小时里,我一直在搜索Google和perfmon中的计数器列表,但我无法找到SQL server的性能计数器来给出所有命中服务器的查询的平均执行时间。相当于ASP.NET请求执行时间的SQL Server。
有没有我遗漏的?有没有其他有效的方法来监控服务器的平均查询时间?
发布于 2008-10-03 11:30:22
我不相信有PerfMon,但在SQL Server Management Studio中有一份报告:
右键单击数据库,选择Reports > Standard Reports > Object Execution Statistics。这将为您提供一些非常好的统计信息,包括数据库中正在运行的内容、运行所需的时间、需要多少内存/io处理等。
您还可以在所有数据库的服务器级别上运行它。
发布于 2008-10-02 20:15:03
你可以使用查询分析器( SQL Server的工具之一),看看它们是如何在内部执行的,这样你就可以优化索引等。这不会告诉你平均值,或者返回到客户端。要做到这一点,您必须将其记录到客户端并自己分析数据。
发布于 2011-06-14 09:44:59
我设法通过将Trace保存到SQL来实现。当跟踪打开时
File > Save As > Trace Table
选择SQL,并在导入SQL后运行
select avg(duration) from dbo.[YourTableImportName] 你可以很容易地执行其他统计,最大,最小,计数等…查询跟踪结果的更好方法
https://stackoverflow.com/questions/164154
复制相似问题