测试sql语句性能
程序员文章站
2022-04-11 12:51:16
...
[size=medium]有时候我们经常为我们的sql语句执行效率低下发愁,反复优化后,可还是得不到提高
那么你就用这条语句找出你sql到底是在哪里慢了
通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。介绍如下:
[/size]
示例:
[size=medium]显示信息:
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 59 毫秒。
(100 行受影响) 表 'TBL_Cot_RecStaticList'。扫描计数 1,逻辑读取 14 次,物理读取 2 次,预读 992 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 306 毫秒。
SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
[color=indigo]也可以通过手工添加语句,计算执行时间来查看执行语句花费了的时间,以判断该条SQL语句的效率如何[/color]:
[/size]
那么你就用这条语句找出你sql到底是在哪里慢了
通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。介绍如下:
SET STATISTICS PROFILE ON:--显示分析、编译和执行查询所需的时间(以毫秒为单位)。
SET STATISTICS IO ON:--报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。
SET STATISTICS TIME ON:--显示每个查询执行后的结果集,代表查询执行的配置文件。
[/size]
示例:
SET STATISTICS io ON
SET STATISTICS time ON
go
---你要测试的sql语句
select top 100 * from TBL_Cot_RecStaticList
go
SET STATISTICS profile OFF
SET STATISTICS io OFF
SET STATISTICS time OFF
[size=medium]显示信息:
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 59 毫秒。
(100 行受影响) 表 'TBL_Cot_RecStaticList'。扫描计数 1,逻辑读取 14 次,物理读取 2 次,预读 992 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 306 毫秒。
SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
[color=indigo]也可以通过手工添加语句,计算执行时间来查看执行语句花费了的时间,以判断该条SQL语句的效率如何[/color]:
declare @d datetime
set @d=getdate()
/*你的SQL脚本开始*/
SELECT [TestCase] FROM [TestCaseSelect]
/*你的SQL脚本结束*/
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
[/size]
上一篇: Nginx负载均衡服务器入门案例
下一篇: PHP string函数小结