网站 为何要 备案,文化建设五大工程,新建网站如何让百度收录,如何优化推广中的关键词性能调优#xff1a;理解Set Statistics Time输出 原文:性能调优#xff1a;理解Set Statistics Time输出在性能调优#xff1a;理解Set Statistics IO输出我们讨论了Set Statistics IO#xff0c;还有如何帮助我们进行性能调优。这篇文章会讨论下Set Statistics Time… 性能调优理解Set Statistics Time输出 原文:性能调优理解Set Statistics Time输出在性能调优理解Set Statistics IO输出我们讨论了Set Statistics IO还有如何帮助我们进行性能调优。这篇文章会讨论下Set Statistics Time它会告诉我们执行一个查询需要的时间。 我们用一个例子来开始。 1 USE AdventureWorks2008r22 GO3 DBCC dropcleanbuffers4 DBCC freeproccache5 6 GO7 SET STATISTICS TIME ON8 GO9 SELECT *
10 FROM Sales.SalesOrderHeader SOH INNER JOIN Sales.SalesOrderDetail SOD ON
11 SOH.SalesOrderIDSOD.SalesOrderID
12 WHERE ProductID BETWEEN 700
13 AND 800
14 GO
15 SELECT *
16 FROM Sales.SalesOrderHeader SOH INNER JOIN Sales.SalesOrderDetail SOD ON
17 SOH.SalesOrderIDSOD.SalesOrderID
18 WHERE ProductID BETWEEN 700
19 AND 800 在例子里有2个SELECT语句。第1个在清空缓存后执行。我们来看看输出。 SQL Server 分析和编译时间: 当我们提交了一个查询给SQL Server去执行时它需要为任何语法错误进行分析并编译然后优化器生成最优计划去执行。SQL Server分析和编译时间指的是完成进行这些预执行步骤所花的时间。我们来看第2个执行的输出在SQL Server分析和编译时间环节CPU时间是0毫秒占用时间是21毫秒。这表示SQL Server没有花任何时间在分析和编译上因为执行计划已经在缓存里。CPU时间值的花在CPU上的时间占用时间指的是完成分析和编译所占用的总时间。CPU时间和占用时间两者之间的区别可能是在CPU周期队列里的等待或者在等待IO操作完成。这些时间在性能调优里并不重要因为每次执行都会不一样。如果你在这个环节看到的时间基本是一致的很可能你在使用重编译选项运行存储过程。 SQL Server 执行时间: 这个指的是SQL Server完成执行编译好计划的时间。CPU时间指的是花在CPU上的实际时间占用时间指的是包括信号等待时间signal wait time在内的完成执行的总时间等待时间是完成IO操作和输出结果传送给客户端的时间。CPU时间可以作为性能调优的基线。这个值多次执行后不会有太大改变除非你修改查询或数据有变动。在服务器上的负载不会影响这个值。请注意这里显示的时间单位都是毫秒。对于同个数据的同个查询CPU时间值在反复执行后可能会不同但也是1/100秒内。占用时间就取决于很多因素了例如服务器工作量IO加载服务器与客户端之间的网络带宽。因此在性能调优时我们可以把CPU时间作为基线。 posted on 2015-06-02 09:49 NET未来之路 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lonelyxmas/p/4545588.html