菜鸟使用sqlserver也有好几年了,写sql时一直很疑惑写的sql语句效率到底如何。
菜鸟也经常查找一下优化sql语句的文章,平时也谨记那些经验之谈,有时也写过一些查看执行时间的语句,可是一直没有很正规地查看过语句的效率到底如何。
今天终于找到了sqlserver自带的监视语句,这里记下来,以后还会继续添加更新这些方法。
set statistics profile on
set statistics io on
set statistics time on
go
<这里写上你的语句...>
go
set statistics profile off
set statistics io off
set statistics time off
这是我执行的一个查询语句的结果:
SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 77 毫秒,耗费时间 = 77 毫秒。
表 'member'。扫描计数 2,逻辑读 3394 次,物理读 0 次,预读 0 次。
表 'orders'。扫描计数 1,逻辑读 76506 次,物理读 0 次,预读 0 次。
表 'memberbuyaddress'。扫描计数 1,逻辑读 399 次,物理读 0 次,预读 0 次。
SQL Server 执行时间:
CPU 时间 = 1063 毫秒,耗费时间 = 1952 毫秒。
(12885 行受影响)
SQL Server 执行时间:
CPU 时间 = 1063 毫秒,耗费时间 = 1953 毫秒。
(11 行受影响)
SQL Server 执行时间:
CPU 时间 = 1063 毫秒,耗费时间 = 1953 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
果然比我自己写的全面,详细。以后还要多多学习。