当您使用 SQL Server 探查器时
持续时间和 CPU 之间有什么区别?
我知道默认情况下两者都以毫秒显示,CPU 是运行查询所需的 CPU 时间,而持续时间更像是查询返回任何数据所需的时间。
根据我的理解,如果存在任何阻塞等,您的 CPU 时间可能会更少,但持续时间可能会更长。
谁能提供更多见解?仔细浏览 BOL 但很难发现细微的差别。
CPU 时间表示请求/语句(取决于您正在监视的事件)主动消耗(未挂起)的时间all CPUs。对于单线程查询,这将始终小于或等于经过的时间(持续时间 = 挂钟时间)。但对于并行查询,CPU 时间可以exceed经过的时间,因为它将多个 CPU 的 CPU 时间相加。
一般来说,已用时间和 CPU 时间之间的区别适用于 SQL Server 中的任何地方,从SET STATISTICS TIME ON http://msdn.microsoft.com/en-us/library/ms190287.aspx输出,到 DMV,例如sys.dm_exec_query_stats https://stackoverflow.com/questions/7234778/sql-server-profiler(其中 CPU 时间称为worker_time
) or sys.dm_exec_requests http://msdn.microsoft.com/en-us/library/ms177648.aspx(再次命名为cpu_time
在此 DMV 中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)