Bulk Insert & BCP执行效率对比
2016-06-28 10:34
274 查看
我们以BCP导出的CSV数据文件,分别使用Bulk insert与BCP导入数据库,对比两种方法执行效率
备注:导入目标表创建了分区聚集索引
1.BCP导出csv数据文件
数据量:15000000行,21.7G
导出作业形式:局域网服务器向客户端导出
执行导出:
bcp [spc].[dbo].[bcc] out "c:\data\bcc.csv" -c -t"," -r"\n" -S"43.xxx.xxx.xxx" -U"sa" -P"*******"
历时:16:10~18:26
2.BCP导入csv
数据量:15000000行,21.7G
导入作业形式:局域网客户端向服务器
执行导入:
bcp [spc].[dbo].[bcc2] in "c:\data\bcc.csv" -c -t"," -r"\n" -S"43.xxx.xxx.xxx" -U"sa" -P"*******"
历时:09:41~19:44,10个小时,未执行完成中止
3.Bulk Insert导入csv
数据量:15000000行,21.7G
导入作业形式:csv文件拷贝到服务器,直接在服务器端作业
执行导入
bulk insert bcc3
from 'd:\\db\bcc.csv'
with(
fieldterminator=',',
rowterminator='\n',
datafiletype='char'
)
历时:17:42~19:44,02:02:00(未执行完)
总结:
1. 由于最初计划在局域网下,采用同样客户端向服务器端导数据,以测试两种方法效率高下;
但使用bcp作业一半时,已经是4+个小时,太慢,所以中途决定将Bulk Insert直接在服务器上作业;
以上测试结果,若不考虑网络因素,Bulk Insert效率更高;
2.导入过程,索引必然是影响效率的重要原因 ;
后面有时间,再使用BCP直接在服务器上作业测试下实际效率,以及删除索引对比两种方式时间
--2017-02-20 bulk insert 执行记录
dbo.aTest 43万行,历时28s
BULK INSERT dbo.aTest
from 'c:\\v_atresults'
with(
rowterminator='\n',
fieldterminator=','
)
备注:导入目标表创建了分区聚集索引
1.BCP导出csv数据文件
数据量:15000000行,21.7G
导出作业形式:局域网服务器向客户端导出
执行导出:
bcp [spc].[dbo].[bcc] out "c:\data\bcc.csv" -c -t"," -r"\n" -S"43.xxx.xxx.xxx" -U"sa" -P"*******"
历时:16:10~18:26
2.BCP导入csv
数据量:15000000行,21.7G
导入作业形式:局域网客户端向服务器
执行导入:
bcp [spc].[dbo].[bcc2] in "c:\data\bcc.csv" -c -t"," -r"\n" -S"43.xxx.xxx.xxx" -U"sa" -P"*******"
历时:09:41~19:44,10个小时,未执行完成中止
3.Bulk Insert导入csv
数据量:15000000行,21.7G
导入作业形式:csv文件拷贝到服务器,直接在服务器端作业
执行导入
bulk insert bcc3
from 'd:\\db\bcc.csv'
with(
fieldterminator=',',
rowterminator='\n',
datafiletype='char'
)
历时:17:42~19:44,02:02:00(未执行完)
总结:
1. 由于最初计划在局域网下,采用同样客户端向服务器端导数据,以测试两种方法效率高下;
但使用bcp作业一半时,已经是4+个小时,太慢,所以中途决定将Bulk Insert直接在服务器上作业;
以上测试结果,若不考虑网络因素,Bulk Insert效率更高;
2.导入过程,索引必然是影响效率的重要原因 ;
后面有时间,再使用BCP直接在服务器上作业测试下实际效率,以及删除索引对比两种方式时间
--2017-02-20 bulk insert 执行记录
dbo.aTest 43万行,历时28s
BULK INSERT dbo.aTest
from 'c:\\v_atresults'
with(
rowterminator='\n',
fieldterminator=','
)
相关文章推荐
- C++/C extern关键字详解 EntryPointNotFoundException处理
- Java技术体系图
- 【CSS进阶】CSS 颜色体系详解
- 教你一招:Microsoft Office Word已停止工作
- android6.0源码分析之Zygote进程分析
- (4)linux下安装配置Mysql
- 组合模式
- jquery操作select绑定change事件
- 城市列表
- HTML5 开源游戏引擎 LayaAir
- 运维工具体系
- 从java虚拟机字节码执行引擎的执行过程来彻底理解java的多态性
- OpenGL vertext shader 属性设置
- 4.2、Android Studio压缩你的代码和资源
- 【leetcode】260. Single Number III
- 4.2、Android Studio压缩你的代码和资源
- Netty系列之Netty百万级推送服务设计要点
- JavaScript跨域方法汇总
- js改变css样式的三种方法推荐
- 多线程编程-互斥锁