SQLServer语句执行效率及性能测试
写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了。
通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。
介绍如下:
SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。
SET
STATISTICS IO
ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。
SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件。
使用方法:打开SQL SERVER 查询分析器,输入以下语句:
SET STATISTICS PROFILE ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
GO
/*--你的SQL脚本开始*/
SELECT [TestCase] FROM [TestCaseSelect]
GO
/*--你的SQL脚本结束*/
SET STATISTICS PROFILE OFF
SET STATISTICS IO
OFF
SET STATISTICS TIME OFF
效果如下:
另外,也可以通过手工添加语句,计算执行时间来查看执行语句花费了的时间,以判断该条SQL语句的效率如何:
declare @d
datetime
set @d=getdate()
/*你的SQL脚本开始*/
SELECT [TestCase] FROM
[TestCaseSelect]
/*你的SQL脚本结束*/
select
[语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())