SQLServer 查看SQL语句的执行时间

时间:2021-10-08 18:42:27

 

   在MSSQL Server中通过查看SQL语句执行所用的时间,来衡量SQL语句的性能。

 通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。介绍如下:

SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。 
SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。 
SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件。

方法一 手动计算

  先记录执行前的时间,然后在记录执行Sql后的时间,然后做减法

declare @d datetime
set @d=getdate()
/*你的SQL脚本开始*/

/*你的SQL脚本结束*/
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())

  这种方法感觉不够准确,和第二种方法对比,时间显示比较长,可能是操作时间的相关函数导致的吧

方法二 使用sql开启自带统计

  将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来 

SQLServer 查看SQL语句的执行时间
SET STATISTICS PROFILE ON 
SET STATISTICS IO ON 
SET STATISTICS TIME ON 
GO
/*--你的SQL脚本开始*/

/*你的SQL脚本结束*/ GO SET STATISTICS PROFILE OFF SET STATISTICS IO OFF SET STATISTICS TIME OFF
SQLServer 查看SQL语句的执行时间

 

 

第2个方法效果如下图,

SQLServer 查看SQL语句的执行时间

 

方法三 用Sql Server 自带的工具

位置:工具》选项》查询执行》高级

 

SQLServer 查看SQL语句的执行时间

 

效果如图,

SQLServer 查看SQL语句的执行时间