关于大批量数据高效插入方法
作者:无殇 来源:51js 发布时间:2010-07-31 19:07:00
没事在这里发一下关于数据库大批量插入数据的效率对比,用ACCESS和MSSQL,数值是在本机测试,根据不同的环境和配置,数值可能会有较大差别,大家看个对比就行了,别精打细算了。
使用Insert into方法插入
数据库 插入数 花费时间(单位:ms)
Access 1000次 672
Access 10000次 5610
MSSQL 1000次 610
MSSQL 10000次 5579
速度基本差不多,同样在解析语法上花费了很多时间
使用Addnew方法插入
数据库 插入数 花费时间(单位:ms)
Access 1000次 187
Access 10000次 1172
MSSQL 1000次 828
MSSQL 10000次 6719
速度明显有差距了,按道理说MSSQL速度应该比较快的,可能是因为MSSQL的LOG造成的影响吧
使用事务进行插入的效率对比
使用事务进行Insert into方法插入
数据库 插入数 花费时间(单位:ms)
Access 1000次 563
Access 10000次 4625
MSSQL 1000次 281
MSSQL 10000次 2183
使用事务的话,ACCESS与MSSQL的速度都有明显提高,但是MSSQL提高更突出
使用事务进行Addnew方法插入
数据库 插入数 花费时间(单位:ms)
Access 1000次 188
Access 10000次 1187
MSSQL 1000次 469
MSSQL 10000次 3875
看得出来,Access在使用事务情况下,Insert into效率提高还是比较明显,但是Addnew基本上变,原因可能是Addnew本身就是一种预解析模式,在整个插入过程中不需要语法解析,事务的批量提交优势也就没那么大了
最后来测试一下MSSQL的存储过程
不使用事务进行插入
数据库 插入数 花费时间(单位:ms)
MSSQL 1000次 375
MSSQL 10000次 3547
使用事务进行插入
数据库 插入数 花费时间(单位:ms)
MSSQL 1000次 187
MSSQL 10000次 1265
结果很明显,使用MSSQL进行大数据量插入,最好使用事务功能,这样效率提高一倍多。
使用Insert Into无论是ACCESS还是MSSQL效率都是一样慢,但是MSSQL用事务的话,效率还可以接受,ACCESS就不行了。
使用Addnew进行插入,ACCESS最适合这种方式,无论使不使用事务,效率差距不大,但是MSSQL就不建议这种方式了,怎么搞MSSQL在Addnew插入效率都很低。
综合以上考虑,在插入效率最高的要求下,ACCESS使用带事务的Addnew插入,MSSQL则使用带事务的存储过程
猜你喜欢
- 最近在学python的过程中无意间发现一个python库:wxpy,其可以实现让微信自动接收、处理消息并进行回复的一系列功能。感觉挺有意思的
- 概述ABP框架作为后端,是一个非常不错的技术方向,但是前端再使用Asp.NET 进行开发的话,虽然会快捷一点,不过可能显得有点累赘了,因此B
- 才发现做了这么多的博客和视频,居然从来没有系统地做过分类网络,做一个科学的分类网络,对身体好。源码下载分类网络的常见形式常见的分类网络都可以
- 什么是编码规范编码规范就是指导如何编写和组织代码的一系列标准。通过阅读这些编码规范,你可以知道在各个公司里代码是如何编写的。我们为什么需要编
- 前言在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法。一般是发送GET请求或者POST请求,对于GET请求没有
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 4.彻底弄懂CSS盒子模式四(绝对定位和相对
- 首先安装WSH,NT(SERVER、WORKSTATION)、W2K服务器上需要安装WSH2.0或者更高版本。然后,参照下列代码即可:<
- CentOS7服务器中apache、php7以及mysql5.7的配置代码如下所示:yum upgradeyum install net-t
- 在众多代码编辑工具中,我最喜欢的就是微软的vscode。首先它十分轻便,不吃硬件,运行非常顺畅;其次是其各种各样的插件使得编程效率蹭蹭地往上
- 前言可扩展标记语言,是一种简单的数据存储语言,XML被设计用来传输和存储数据存储,可用来存放配置文件,例:java配置文件传输,网络传输以这
- rss的优点 1.您可以有选择地浏览您感兴趣的以及与您的工作相关的新闻。 2.您可以把需要的信息从不需要的信息(兜售信息,垃圾邮件等)中分离
- DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。可用DATE_F
- 当前需求:有group和factor两张表,一个group对应多个factor,现在想查询有效的group和对应的有效的factor,两个表
- 创建表:create table if not exists t( id int, addT
- git还原到某次commit并强制推送远程不可逆提交一、reset1.git log查看提交记录git log2.选择某次提交的commit
- 环境Laravel 5.4原理在Laravel中,门面为应用服务容器中绑定的类提供了一个“静态”接口
- 基础知识介绍以SQL Server的数据库管理工具SSMS(SQL Server Management Studio)为平台进行操作。SQL
- FileField中的upload_to属性可以设定上传文件的存储目录和名称,它可以是个字符串,也可以是个callable,比如一个方法。当
- 使用access数据库时可能用到的数据转换:类型转换涵数:函数 返回类型 expression 参数范围CBool Boolean 任何有效
- FCKeditor至今已经到了2.3.1版本了,对于国内的WEB开发者来说,也基本上都已经“闻风知多少”了,很多人将其融放到自己的项目中,更