首页 > 数据库技术 > 详细

测试sql语句性能,提高执行效率

时间:2014-03-19 08:41:46      阅读:449      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
为了让您的程序执行的效率更高,SQL的效率一定不可忽视。
现有以下方法去检测SQL的执行效率。  
对于多表查询的效率测试:
1)直接from ,where方式。
SET STATISTICS io ON
        SET STATISTICS time ON
        go
  ---你要测试的sql语句
select g.grpName,t.grpID,t.flowID,t.typeName,t.description
from hyGroup g  ,hyType t where  t.grpID = g.flowID       
         
        go
        SET STATISTICS profile OFF
        SET STATISTICS io OFF
        SET STATISTICS time OFF
 
SQL Server 分析和编译时间: 
   CPU 时间 = 4 毫秒,占用时间 = 4 毫秒。
(8 行受影响)
表 hyType。扫描计数 1,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 hyGroup。扫描计数 1,逻辑读取 1 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
 
2)inner join 方式:
  SET STATISTICS io ON
        SET STATISTICS time ON
        go
  ---你要测试的sql语句
select g.grpName,t.grpID,t.flowID,t.typeName,t.description
from hyGroup g  inner join hyType t on   t.grpID = g.flowID       
         
        go
        SET STATISTICS profile OFF
        SET STATISTICS io OFF
        SET STATISTICS time OFF 
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
(8 行受影响)
表 hyType。扫描计数 1,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 hyGroup。扫描计数 1,逻辑读取 1 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
 
 
3)left join 方式
  SET STATISTICS io ON
        SET STATISTICS time ON
        go
  ---你要测试的sql语句
select g.grpName,t.grpID,t.flowID,t.typeName,t.description
from hyGroup g  left join hyType t on   t.grpID = g.flowID       
         
        go
        SET STATISTICS profile OFF
        SET STATISTICS io OFF
        SET STATISTICS time OFF
 
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 3 毫秒。
(10 行受影响)
表 hyType。扫描计数 1,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 hyGroup。扫描计数 1,逻辑读取 1 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
4)right join 方式
  SET STATISTICS io ON
        SET STATISTICS time ON
        go
  ---你要测试的sql语句
select g.grpName,t.grpID,t.flowID,t.typeName,t.description
from hyGroup g  right join hyType t on   t.grpID = g.flowID       
         
        go
        SET STATISTICS profile OFF
        SET STATISTICS io OFF
        SET STATISTICS time OFF
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 3 毫秒。
(8 行受影响)
表 hyGroup。扫描计数 1,逻辑读取 8 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 hyType。扫描计数 1,逻辑读取 1 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。


转载于jing_xin   来自
bubuko.com,布布扣

测试sql语句性能,提高执行效率,布布扣,bubuko.com

测试sql语句性能,提高执行效率

原文:http://www.cnblogs.com/xyzhuzhou/p/3607862.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!