了解 sql server 语句的执行时间

发布时间:2019-10-25编辑:脚本学堂
在做sql语句调优时,大都会查看语句执行时间,那么sql server显示出来的统计结果究竟代表什么意思呢?

来看一个例子,比较简单的语句:

复制代码 代码如下:

SET STATISTICS TIME ON
USE [pratice]
GO
SELECT * FROM [dbo].[Orders]

结果:
SQL Server 分析和编译时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
 
 SQL Server 执行时间:
    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
 
 SQL Server 执行时间:
    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
 SQL Server 分析和编译时间:
    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
 
 (121317 行受影响)
 
SQL Server 执行时间:
   CPU 时间 = 109 毫秒,占用时间 = 2506 毫秒。

语句的CPU时间分编译阶段和执行阶段。优化者要先搞清楚这两个阶段各用了多少CPU资源。
然后,再看有没有优化降低CPU使用量的可能。

上面的CPU时间是指:执行语句的时间
而占用时间是指:从磁盘读取数据再处理总的使用时间

编译阶段:
SQL Server 分析和编译时间:

执行阶段:
SQL Server 执行时间:

您可能感兴趣的文章:
SQL Server统计SQL语句执行时间的脚本