SQLSERVER语句的执行时间显示的统计结果是什么意思_MsSql

  • A+
所属分类:MSSQLSERVER


在SQL语句调优的时候,大部分都会查看语句执行时间,究竟SQLSERVER显示出来的统计结果是什么意思?
下面看一下例子
比较简单的语句

复制代码 代码如下:

1 SET STATISTICS TIME ON
2 USE [pratice]
3 GO
4 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 执行时间:

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: