在sql语句调优的时候,大部分都会查看语句执行时间,究竟sqlSERVER显示出来的统计结果是什么意思?
下面看一下例子
比较简单的语句:
1 SET STATISTICS TIME ON 2 USE [pratice] 3 GO 4 SELECT * FROM [dbo].[Orders]
结果:
1 sql Server 分析和编译时间: 2 cpu 时间 = 0 毫秒,占用时间 = 0 毫秒。 3 4 sql Server 执行时间: 5 cpu 时间 = 0 毫秒,占用时间 = 0 毫秒。 6 7 sql Server 执行时间: 8 cpu 时间 = 0 毫秒,占用时间 = 0 毫秒。 9 sql Server 分析和编译时间: 10 cpu 时间 = 0 毫秒,占用时间 = 0 毫秒。 11 12 (121317 行受影响) 13 14 sql Server 执行时间: 15 cpu 时间 = 109 毫秒,占用时间 = 2506 毫秒。
语句的cpu时间分编译阶段和执行阶段。优化者要先搞清楚这两个阶段各用了多少cpu资源。
然后,再看有没有优化降低cpu使用量的可能
上面的cpu时间是指:执行语句的时间
而占用时间是指:从磁盘读取数据再处理总的使用时间
编译阶段:
sql Server 分析和编译时间:
执行阶段:
sql Server 执行时间:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。