中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
用存储过程执行Insert和直接执行Insert的性能比较
作者:未知 时间:2005-07-27 23:35 出处:CSDN 责编:chinaitpower
              摘要:用存储过程执行Insert和直接执行Insert的性能比较

    最近写一个程序将IP与所在地区的列表有纯文本文件导入到数据库中,一开始使用的是直接用SqlCommand执行Insert语句,后来知道了SQL Server能够对存储过程进行优化,省去了对语句进行分析的时间,比直接用Insert语句要快一些。我就把Insert语句放在了一个临时存储过程中,用这个临时存储过程进行Insert操作,并粗略测试了两者执行的时间。

存储过程为:

CREATE PROCEDURE #InsertIPData
@StartIP nvarchar(50),
@EndIP nvarchar(50),
@Country nvarchar(50),
@Local nvarchar(100)
AS
INSERT INTO [IPWry] VALUES(@StartIP, @EndIP, @Country, @Local)

Insert语句为:

INSERT INTO [IPWry] VALUES(@StartIP, @EndIP, @Country, @Local)


    执行此存储过程用的是SqlDataAdapter的Update,总共180485条记录。

结果如下:

                    第一次        第二次        第三次        平均
直接执行Insert      133秒         132秒         135秒         133.3秒
存储过程            121秒         122秒         120秒         121秒


测试环境:Windows Server 2003, SQL Server 2000(v8.0.818), Framework 1.1.4322 sp1(Winform);
          Pentium 4 2.0GHz, 512MB RAM

    本结果说明,用存储过程执行大量Insert语句比直接执行Insert语句速度大约快10%。


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有