当前位置: 代码迷 >> SQL >> 怎么查看SqlServer查询语句的执行效率
  详细解决方案

怎么查看SqlServer查询语句的执行效率

热度:102   发布时间:2016-05-05 11:07:16.0
如何查看SqlServer查询语句的执行效率

如何查看SqlServer查询语句的执行效率

一:查看执行时间

SQL Server DATEDIFF() 函数

定义和用法

DATEDIFF() 函数返回两个日期之间的时间。
??????? 语法
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:

??????????? datepart?????????? ? ? ? 缩写
yy, yyyy
季度qq, q
mm, m
年中的日dy, y
dd, d
wk, ww
星期dw, w
小时hh
分钟mi, n
ss, s
毫秒ms
微妙mcs
纳秒ns

使用方式:(通过这种方式我们可以指定查询时间的数量级)

?

declare @begin_date datetime declare @end_date datetime select @begin_date = getdate()   --此处为需要查询的sql脚本select @end_date = getdate() select datediff( ms,@begin_date,@end_date) as '用时/毫秒'

?二、查看执行效率详细信息

?

使用方式:通过这种方式我们得到更全面的执行信息,比如扫描次数,逻辑读次数,物理读次数,IO耗时,CPU耗时等,有利于我们优化sql语句

SET STATISTICS PROFILE ON SET STATISTICS IO ON SET STATISTICS TIME ONGO   --此处为需要查询的sql脚本 GO SET STATISTICS PROFILE OFF SET STATISTICS IO OFF SET STATISTICS TIME OFF

? 通过上述方式查询结果如下:

SQL Server 分析和编译时间: CPU 时间= 0 毫秒,耗费时间= 0 毫秒。 SQL Server 执行时间:  CPU 时间= 0 毫秒,耗费时间= 0 毫秒。 SQL Server 执行时间: CPU 时间= 0 毫秒,耗费时间= 0 毫秒。 SQL Server 分析和编译时间: CPU 时间= 0 毫秒,耗费时间= 0 毫秒。 表'_XT_USER'。扫描计数1,逻辑读63 次,物理读0 次,预读0 次。 SQL Server 执行时间: CPU 时间= 0 毫秒,耗费时间= 69 毫秒。 (2042 行受影响) SQL Server 执行时间: CPU 时间= 0 毫秒,耗费时间= 69 毫秒。 (2 行受影响) SQL Server 执行时间: CPU 时间= 0 毫秒,耗费时间= 69 毫秒。 SQL Server 分析和编译时间: CPU 时间= 0 毫秒,耗费时间= 0 毫秒。 SQL Server 执行时间: CPU 时间= 0 毫秒,耗费时间= 0 毫秒。

?

?

  相关解决方案