zoukankan      html  css  js  c++  java
  • Bulk Insert & BCP执行效率对比

    我们以BCP导出的CSV数据文件,分别使用Bulk insert与BCP导入数据库,对比两种方法执行效率

    备注:导入目标表创建了分区聚集索引

    1.BCP导出csv数据文件

    数据量:15000000行,21.7G

    导出作业形式:局域网服务器向客户端导出

    执行导出:

    bcp [spc].[dbo].[bcc] out "c:datacc.csv" -c -t"," -r" " -S"43.xxx.xxx.xxx" -U"sa" -P"*******"

    历时:16:10~18:26

    2.BCP导入csv

          数据量:15000000行,21.7G

          导入作业形式:局域网客户端向服务器

    执行导入:

    bcp [spc].[dbo].[bcc2] in "c:datacc.csv" -c -t"," -r" " -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:\dbcc.csv'
    with(
      fieldterminator=',',
      rowterminator=' ',

         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=' ',
    fieldterminator=','
    )

  • 相关阅读:
    鼠标滑动察看
    jquery放大镜,可随意设置css
    常用的js插件配合滚轮事件左右滚动
    css的各种bug集合,主要针对ie6,7会出现
    ajax跨域请求及jsonp方式
    js随机生成一组指定区间的数组
    性能测试相关
    web窗体加载的过程。
    解密微软中间语言:MSIL
    .net应用程序版本控制
  • 原文地址:https://www.cnblogs.com/jeffry/p/5622568.html
Copyright © 2011-2022 走看看