我正在使用SQL Server 2012和SET STATISTICS TIME ON
来测量我的sql语句的CPU时间。我使用这个,因为我只想获得数据库需要执行语句的时间。了解Sql Server执行时间
当从select
返回大数据时,我注意到CPU时间上升很高,就像使用TOP 2000
将需要大约400ms,但没有它将需要大约10000ms的CPU时间。
什么我不知道的是: 是否有可能将占用CPU的时间我得到恢复包括像它需要排在我Sql Server Management Studio
返回显示数以百万计的时间?这将是一个很糟糕的情况。
更新:
我想收到的时间是在SQL Server的不显示的行所需SSMS的时间执行时间。在Client statistics
中有几个时间统计显示,但经过很长时间的搜索后,很难找到解释它们的好参考。有什么建议么?
理念:经过时间(SQL Server的执行时间)- 客户端的处理时间(客户端统计)
这也许是一种选择?
'TOP X'不需要对整个查询进行所有数据评估,然后丢弃所有不必要的行。较低的CPU成本是因为只有生成2000结果行所需的数据正在处理中。如果你真的有意识地向自己证明;查看实际的执行计划,和/或尝试将结果插入临时表(结果中没有网络流量,尽管仍有潜在的磁盘IO)。 – MatBailie
你的表中是否有〜50k记录? –
我得到了约100k行 – stb