用存储过程执行Insert和直接执行Insert的性能比较
2008-04-26 18:55
441 查看
最近写一个程序将IP与所在地区的列表有纯文本文件导入到中,一开始使用的是直接用SqlCommand执行Insert语句,后来知道了能够对存储过程进行优化,省去了对语句进行分析的时间,比直接用Insert语句要快一些。我就把Insert语句放在了一个临时存储过程中,用这个临时存储过程进行Insert操作,并粗略测试了两者执行的时间。
存储过程为:
CREATEPROCEDURE#InsertIPData
@StartIPnvarchar(50),
@EndIPnvarchar(50),
@Countrynvarchar(50),
@Localnvarchar(100)
AS
InsertINTO[IPWry]VALUES(@StartIP,@EndIP,@Country,@Local)
Insert语句为:
InsertINTO[IPWry]VALUES(@StartIP,@EndIP,@Country,@Local)
执行此存储过程用的是SqlDataAdapter的Update,总共180485条记录。
结果如下:
第一次 第二次 第三次 平均
直接执行Insert 133秒 132秒 135秒 133.3秒
存储过程 121秒 122秒 120秒 121秒
测试环境:WindowsServer2003,SQLServer2000(v8.0.818),1.1.4322sp1(Winform);
Pentium42.0GHz,512MBRAM
本结果说明,用存储过程执行大量Insert语句比直接执行Insert语句速度大约快10%。
存储过程为:
CREATEPROCEDURE#InsertIPData
@StartIPnvarchar(50),
@EndIPnvarchar(50),
@Countrynvarchar(50),
@Localnvarchar(100)
AS
InsertINTO[IPWry]VALUES(@StartIP,@EndIP,@Country,@Local)
Insert语句为:
InsertINTO[IPWry]VALUES(@StartIP,@EndIP,@Country,@Local)
执行此存储过程用的是SqlDataAdapter的Update,总共180485条记录。
结果如下:
第一次 第二次 第三次 平均
直接执行Insert 133秒 132秒 135秒 133.3秒
存储过程 121秒 122秒 120秒 121秒
测试环境:WindowsServer2003,SQLServer2000(v8.0.818),1.1.4322sp1(Winform);
Pentium42.0GHz,512MBRAM
本结果说明,用存储过程执行大量Insert语句比直接执行Insert语句速度大约快10%。
相关文章推荐
- 用存储过程执行Insert和直接执行Insert的性能比较
- 存储过程性能测试之_Sql执行速度的比较
- 面试-存储过程与Insert的性能比较
- 常用存储过程分页实现方法的性能比较
- [VB.NET]点net写client程序传递参数给mssql存储过程insert,为什么要反复执行客户端代码才能成功insert,怎么才能使客户端插入记录操作变得稳定呢?
- 分页存储过程性能比较 二分法
- 存储过程和T-SQL语句的执行计划重用性比较
- 已超过了锁请求超时时段” 直接把下在面的存储过程 放到你的Master数据库执行一下就可以了
- DB2大数据重一张表复制到另外一张表存储过程和直接在客户端中执行
- SQL Server分页的存储过程写法以及性能比较
- javascript使用Array、join做字符存储和直接使用+号拼接字符串的执行效率比较
- 利用存储过程来实现分页性能比较
- 存储过程和T-SQL语句的执行计划重用性比较
- SQL Server 存储过程的分页性能比较
- 分页存储过程性能比较 二分法
- oracle 中的定时执行存储过程的job
- 在论坛中出现的比较难的sql问题:14(存储过程问题 存储过程参数、存储过程内的参数)
- [FAQ]ASP中提取多选列表框中的值,并传递给存储过程执行。
- mybatis3执行存储过程的方法
- SQL Server 聚焦存储过程性能优化、数据压缩和页压缩提高IO性能方法(一)