在T-SQL中启用统计时间的实际查询执行时间是多少?

时间:2012-05-24 20:22:06

标签: sql sql-server performance tsql query-optimization

在SQL Server Management Studio的SQL Sever选项中启用统计时间后,我会收到以下信息。

  

SQL Server解析和编译时间:CPU时间= 15毫秒,已用时间   = 47毫秒。

     

(1745行(s)受影响)

     

SQL Server执行时间:CPU时间= 31毫秒,已用时间= 99   女士。 SQL Server解析和编译时间:CPU时间= 0 ms,已过去   时间= 0毫秒。

有四次以毫秒为单位。现在,哪一个是运行查询所花费的实际时间?他们似乎不是亲戚。

1 个答案:

答案 0 :(得分:1)

这取决于“运行查询所花费的时间”的含义

解析时间是准备查询所需的时间,通过语法检查以及创建高度规范化的任务列表。

Copile Time是通过Algerbrizer运行查询所需的时间(这是将对象名转换为对象ID等,然后为查询选择或创建执行计划的组件。

将这两个阶段合在一起的时间记录为Parse和Compile Time。

执行时间是实际执行或运行已编译计划所花费的时间。因此,如果您的意思是执行查询需要多长时间,那么这就是SQL Server执行时间下的经过时间。

但是,如果你的意思是查询完成需要多长时间,从我点击执行的那一刻起,那么这就是Parse和Compile Time部分以及SQL Server执行中的Elapsed Time的和时代部分。

CPU Times(Parse和Compile部分以及Execution Times部分)是处理器在此部分上花费的时间。因此,为了计算持续时间,可以忽略CPU时间。