经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
批量插入数据那种方法最快
来源:cnblogs  作者:zhangwangit  时间:2019/7/15 8:52:26  对本文有异议

第一种方法:采用的传统的方式插入,即insert into 表名VALUES(值) 打开数据库,插入数据库,关闭数据,一共插入5000条数据,分别用时41526、39266、39585 (这个方法最主要是耗时用在打开数据库连接上和关闭数据库连接上)

 

第二种方法:采用的先把sql语句用分号拼接起来,最后再一次性插入到数据库中,即insert into 表名VALUES(值); insert into 表名VALUES(值),分别用时12718,13268,11834

 

第三种方法:采用的是union all 关键字把值拼接起来,然后再一次性插入到数据库中,即insert into 表名select 值1 union all 值2 union all ……  分别用时22985,23734,24639

 

由此看出:方法二速度 > 方法三 > 方法一   值得注意的地方是当数据量大多时,就要修改SqlCommand.CommandTimeout属性, 不然会报 “Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。”

 

补充一下:SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别

SqlCommand.CommandTimeout:获取或设置在终止执行命令的尝试并生成错误之前的等待时间。等待命令执行的时间(以秒为单位)。默认为 30 秒。
SqlConnection.ConnectionTimeout:获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。等待连接打开的时间(以秒为单位)。默认值为 15 秒。

 

原文链接:http://www.cnblogs.com/zhangwang/p/11186692.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号