如何测试sql语句性能,提高执行效率
来源:互联网 发布:ubuntu 进入boot 编辑:程序博客网 时间:2024/05/29 14:03
为了让您的程序执行的效率更高,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 毫秒。
综上可以看出:最优的多表查询应该选用等值连接来实现。欢迎转载,但请注明出处,谢谢!
- 如何测试sql语句性能,提高执行效率
- 如何测试sql语句性能,提高执行效率(装载)
- 如何测试sql语句性能,提高执行效率
- 如何测试sql语句性能,提高执行效率
- 如何测试sql语句性能,提高执行效率
- 如何测试sql语句性能,提高执行效率,sql2008
- 如何测试sql语句性能,提高执行效率
- 如何测试sql语句性能,提高执行效率
- 如何提高SQL语句执行效率
- 如何提高sql语句的执行效率
- 如何提高sql语句的执行效率
- 如何提高sql语句的执行效率
- SQL语句执行效率及性能测试
- SQL语句执行效率及性能测试
- SQL语句执行效率及性能测试
- SQL语句执行效率及性能测试
- 如何提高SQL语句执行效率的几点建议
- 关于如何提高sql语句执行效率(网上整理)
- 人工智能步入金融领域的主流玩法
- 学习封装mvc(八)日志类
- 进程间的几种通信方式概述
- springmvc 基础
- Linux/Ubuntu下解压命令
- 如何测试sql语句性能,提高执行效率
- Unicode格式字符串之间转换
- ThreadPoolExcutor源码分析
- 搭建一个简单的mvc(一)
- 局部代码块
- 栈增长方向与大端/小端问题
- 如何测试sql语句性能,提高执行效率
- 极客学院----H5的相关笔记----css基础(一)
- RxJava是什么?