sql server中的持续时间测量实际测量什么?


8

进行探查器跟踪时,查询持续时间究竟能测量什么?

我有一个执行数据访问(SELECT)的存储过程,平均大约需要30秒才能将结果返回给应用程序。但是当我对其进行跟踪时,我得到的平均持续时间约为8秒,最大持续时间为12秒,平均CPU时间为5.5秒。

是什么导致返回结果集花费更长的时间呢?我没有累积大量的NETWORKIO等待。结果集仅包含约270行的简单文本数据,总计约50列。


4
这不包括在客户端上交付和呈现结果所花费的时间。
亚伦·伯特兰

这是有道理的,但是如果有很大的延迟(执行结果的3倍的时间来呈现结果),您是否不希望看到大量的NETWORKIO等待?我的上次重启是在昨天,NETWORKIO总共等待了230秒(对我来说似乎没有那么多)。
sqlbattsman 2012年

3
您是否尝试使用SET STATISTICS TIME等执行命令?另外,如果花时间渲染,您将不会在网络中看到它。如果将结果中的所有数据呈现为文本还是网格,会显示出任何差异吗?
亚伦·伯特兰

文本结果没有显着差异。现在,当我使用SET STATISTICS TIME运行它时,我得到的总持续时间要准确得多
sqlbattsman 2012年

Answers:


1

持续时间表示从SQL Server开始到完成请求的总时间,它表示通过网络发送的时间,CPU时间,等待时间和执行时间。正如Aaron所提到的,一旦客户端收到数据,SQL Server便完成了计时,然后由客户端进行处理。这不应该是持续时间的一部分。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.