在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开启自带统计
将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来
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
第2个方法效果如下图,
方法三 用Sql Server 自带的工具
位置:工具》选项》查询执行》高级
效果如图,
原文:http://www.cnblogs.com/wangguowen27/p/SqlServer_Select_wgw.html