社区
VB基础类
帖子详情
为何AddNew的执行速度比Insert Into快多了?
dotnetjyh
2005-08-31 07:32:32
用Insert Into语句插入1万条记录大概要45s,而用AddNew只要4s;
这是为什么?查了网上的资料都说Insert比AddNew快,但实际却相反?
大家在一条条插入大量数据时一般通过什么方法?
...全文
650
39
打赏
收藏
为何AddNew的执行速度比Insert Into快多了?
用Insert Into语句插入1万条记录大概要45s,而用AddNew只要4s; 这是为什么?查了网上的资料都说Insert比AddNew快,但实际却相反? 大家在一条条插入大量数据时一般通过什么方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
39 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bbhere
2005-09-08
打赏
举报
回复
长知识
dotnetjyh
2005-09-08
打赏
举报
回复
还有没有好的解决方法的,没有就只好结贴了
dotnetjyh
2005-09-05
打赏
举报
回复
就算用ADO,AddNew方法比InSert方法快多了
--------------
对11602条记录进行操作,ADO和DAO,AddNew和InSert方法的速度测试如下:
DAO:AddNew:10s
InSert:33s
ADO:AddNew:20s
InSert:46s
----------------------
觉得上面的结果不可信的,可再到这个地址下载测试程序:
http://www.easewe.com/SoftWare/downSoft.aspx?id=27&from=fromother
ttjacky
2005-09-05
打赏
举报
回复
而且用你的程序执行出来对SqlServer的结果是Insert用了22s,AddNew用了33s
还是比用addnew对access插入慢多了啊
====================================
不要把Access和SQL Server进行比较
在小数量情况下,插入 Access速度会比SQL Server快些,但是大数据量网络情况下,就是SQL Server快了,一个曲线下降很快,一个曲线基本不变的。
zlt982001
2005-09-05
打赏
举报
回复
写这么多,只是想论证这个数据库操作的效率问题,(包括Access和SQLServer)
至于你实际要怎么用,取决于你自己
dotnetjyh
2005-09-05
打赏
举报
回复
而且用你的程序执行出来对SqlServer的结果是Insert用了22s,AddNew用了33s
还是比用addnew对access插入慢多了啊
dotnetjyh
2005-09-05
打赏
举报
回复
项目要求用ACCESS,用SQLSERVER不行啊
zlt982001
2005-09-05
打赏
举报
回复
记得修改 连接字符串中 服务器名 和 帐号密码
zlt982001
2005-09-05
打赏
举报
回复
执行前请将 Data 中的两个数据库附加到 SQL Server 中
zlt982001
2005-09-05
打赏
举报
回复
当数据库为 Access 时,使用 AddNew 确实比 Insert 快一点
当然如果你只是使用 单机的数据库,直接使用 RecordSet 更快,
但是 在SQL Server 情况下,使用 Insert 比 使用 RecordSet 快一点
我修改了你的例子,加入了 Command 来执行 SQL 语句,
http://www.federal.net.cn/newtest.rar
基本上是这样了,现在基本上很少使用 Access 数据库了
dotnetjyh
2005-09-04
打赏
举报
回复
有人看过吗?
zlt982001
2005-09-04
打赏
举报
回复
我的我Blog 有些关于优化的心得,欢迎参光指教
http://blog.csdn.net/zlt982001/
zlt982001
2005-09-04
打赏
举报
回复
你的代码使用的是 DAO,
他是专门针对 Access 优化的,使用 DAO 的Addnew 确实比 Insert 快,
但这必须局限于本地 表操作 情况下 ,即 dbOpenTable 参数下.
但对于 ADO ,Access : Insert 和 Addnew 的速度是差不多的,
而 SQL server 下,Insert 比 Addnew 要快一点
我已经做过测试
在 ADO 即将要淘汰之际,想不到还有人要用DAO,晕啊
看到 ADO.Net 的 DataSet 你就会知道什么是慢了
hlm750908
2005-09-04
打赏
举报
回复
在我的映象中
addnew快,我原来也是测试过
不过,我也觉得可能是我们的参数有问题
因为我看见别人的代码中 insert用得比较多,
但我想别人水平比我强,怎么会范这样的错误
还有也没有什么网文说这个问题
crycoming
2005-09-04
打赏
举报
回复
我也是用AddNew大大提高了插入速度,数据库是access
一个表有100多万行数据,用insert明显慢了很多
其它数据库是否这样就不知道了,SQL,DB2,..,等大型数据库我还是用insert
dotnetjyh
2005-09-03
打赏
举报
回复
sorry发错了,这个才是对的
http://www.easewe.com/SoftWare/downSoft.aspx?id=27&from=fromother
dotnetjyh
2005-09-03
打赏
举报
回复
贴出测试代码,请不相信的朋友测试一下
http://www.easewe.com/SoftWare/downSoft.aspx?software=27&from=fromother
zlt982001
2005-09-02
打赏
举报
回复
不大可能,你的测试代码应该有问题
addnew 内部就是用 Insert 操作的
快可能因为Cache 在客户端而没有真正更新到服务器
你可以帖出测试代码
大家论证
province_
2005-09-02
打赏
举报
回复
快?你的记时参考点是什么?
记录集做更新操作不可能比SQL快,之所以微软引入这个对象是为了方便使用SELECT的返回数据,可不是为了用它做记录更新操作的,虽然可以做。效率低、占用资源大。
ltpao
2005-09-02
打赏
举报
回复
大量的是insert快
加载更多回复(19)
asp知识整理笔记3(问答模式)
继上两篇《asp知识整理笔记1》和《asp知识整理笔记2》,《asp知识整理笔记3》新鲜出炉: 17、问题:在ASP中使用ADO的
Add
New
方法和直接使用“
Insert
into…”语句有何不同?哪种方式更好? 答:ADO的
Add
New
方法只是将“
Insert
into ”语句封装了起来,所以,当对大量数据进行操作的时候,直接使用SQL语句将会大大加
快
存取数据的
速度
,因为它减少了ADO的“翻译”时间,由于SQL语句所
执行
的操作是直接在数据库服务器中进行的,尤其在数据量很大的时候有显著的优势。 18、问题:为什么我在ASP中使用标准的插入记录语句
insert
into books(name,
Add
new
与
Insert
的区别
添加一条新记录是通过RecordSet对象的
Add
new
方法实现的,还是通过
执行
SQL语句中的
insert
语句也可以添加新记录,为何不选用后者呢?二者有何区别呢?从本质上说,ADO的
Add
new
方法只是将“
Insert
into”语句封装了起来,所以,直接使用SQL语句将会大大加
快
存取数据的
速度
,因为他减少了ADO的“翻译”时间,尤其当对大量数据进行操作的时候表现得更为明显。但是直接使用SQ
Insert
和Rs.
Add
new
的比较
添加一条新记录是通过RecordSet对象的
Add
new
方法实现的,还是通过
执行
SQL语句中的
insert
语句也可以添加新记录,为何不选用后者呢?二者有何区别呢? 从本质上说,ADO的
Add
new
方法只是将“
Insert
into”语句封装了起来,所以,直接使用SQL语句将会大大加
快
存取数据的
速度
,因为他减少了ADO的“翻译”时间,尤其当对大量数据进行操作的时候表现得更为明显。但是直接使
oracle
insert
into values 批量插入
oracle
insert
into values 批量插入
Insert
和Rs.
Add
new
的比较??
添加一条新记录是通过RecordSet对象的
Add
new
方法实现的,还是通过
执行
SQL语句中的
insert
语句也可以添加新记录,为何不选用后者呢?二者有何区别呢?从本质上说,ADO的
Add
new
方法只是将“
Insert
into”语句封装了起来,所以,直接使用SQL语句将会大大加
快
存取数据的
速度
,因为他减少了ADO的“翻译”时间,尤其当对大量数据进行操作的时候表现得更为明显。但是直接使用S
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章