sql server 存储过程的优化:简单测试在存储过程中临时表与union all的性能差别
2011-04-11 16:18
405 查看
原文引自:/article/4801079.html
一、环境及测试要求
1、测试环境
①硬件:cpu: 2g、内存: 2g
②数据库:sql 2005
根据机器配置不同,结果会有不同.
2、性能测试说明
①数据库服务器重启之后进行查询,即第一次查询的结果。
②是对数据库查询的性能比较。
二、测试情况
1、在存储过程中使用临时表: (proc1)
执行时间为: 1039ms
2、 在存储过程中使用union all: (proc2)
执行时间为:5017ms
三、补充说明
在以上两个存储过程执行过一次之后,紧接着再次执行以上两个存储过程,发现执行时间发生了本质的变化:
存储过程proc1,执行时间为:728ms
存储过程proc2,执行时间为:998ms
但是实际情况中,虽然说在很短的时间内,不大可能会发生同一人对同一个存储过程查询两次及以上,多数情况是在不同的时间,由不同的人来执行。
而且对存储过程优化,那么在优化之后,再次执行的时间也会缩短,所以如果能优化,还是要进行优化。
一、环境及测试要求
1、测试环境
①硬件:cpu: 2g、内存: 2g
②数据库:sql 2005
根据机器配置不同,结果会有不同.
2、性能测试说明
①数据库服务器重启之后进行查询,即第一次查询的结果。
②是对数据库查询的性能比较。
二、测试情况
1、在存储过程中使用临时表: (proc1)
select top 1000 * into #t1 from somast insert into #t1 select top 100 * from somast select * from #t1 ---删除表数据 TRUNCATE TABLE #t1 --删除临时表 drop table #t1 |
2、 在存储过程中使用union all: (proc2)
select top 1000 * from somast union all select top 100 * from somast |
三、补充说明
在以上两个存储过程执行过一次之后,紧接着再次执行以上两个存储过程,发现执行时间发生了本质的变化:
存储过程proc1,执行时间为:728ms
存储过程proc2,执行时间为:998ms
但是实际情况中,虽然说在很短的时间内,不大可能会发生同一人对同一个存储过程查询两次及以上,多数情况是在不同的时间,由不同的人来执行。
而且对存储过程优化,那么在优化之后,再次执行的时间也会缩短,所以如果能优化,还是要进行优化。
相关文章推荐
- 简单测试在存储过程中临时表与union all的性能差别
- sql server 存储过程的优化.(变量表,临时表的简单分析) (转)
- SQL Server-聚焦存储过程性能优化、数据压缩和页压缩提高IO性能(一)
- SQL Server 2005中利用临时表和@@RowCount提高分页查询存储过程性能
- SQL Server 聚焦存储过程性能优化、数据压缩和页压缩提高IO性能方法(一)
- sql server 存储过程的优化.(变量表,临时表的简单分析)
- sql server 存储过程的优化.(变量表,临时表的简单分析)
- 聚焦存储过程性能优化、数据压缩和页压缩
- 常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
- SQL Server性能优化(10)非聚集索引的存储结构
- SQL Server 优化存储过程的七种方法
- SQL Server 优化存储过程的七种方法
- SQL Server 存储过程编写经验和优化措施
- SQL Server 优化存储过程的七种方法
- 简单谈基于SQL SERVER 分页存储过程的演进
- SQL Server 2016 查询存储性能优化小结
- 简单谈基于SQL SERVER 分页存储过程的演进
- SQL Server 优化存储过程的七种方法
- Mysql存储过程优化——使用临时表代替游标
- 存储过程性能优化