问题描述
我已经做了研究,包括在这个论坛上的主题,但似乎找不到答案.
I have done research including threads on this forum but cant seem to find an answer.
我正在加载 40 列的文本文件.暂时没有变身.有 8 个文件 ~25MB,总共 1,400,000 行.使用批量插入任务,加载在 3 分钟内完成.使用 OleDb 目标和平面文件输入连接管理器,加载在 30 分钟内完成.
I am loading text files with 40 columns. No transformation at this time. There are 8 files ~25MB with a total of 1,400,000 rows. Using Bulk Insert task the load completes in 3 minutes. Using OleDb destination and flat file input connection manager the load completes in 30 minutes.
据我所知,SSIS 应该在 OleDb 连接后面使用批量插入.如果是这样,为什么会有如此巨大的差异?我一定是做错了什么,有什么想法吗?
From all I have read, SSIS should be using Bulk Inserts behind the OleDb connection. If so, why is there such a dramatic difference? I must be doing something wrong, any ideas?
使用连接的所有默认值.表或视图快速加载.每批空白行和最大提交大小 2,147,483,674.我正在使用 Sql2016,但在 Sql2014 中也有类似的测试结果.
Using all defaults for the connection. Table or View fast load. Blank rows per batch and max commit size 2,147,483,674. I am using Sql2016 but have had similar results testing with Sql2014.
推荐答案
您可能没有设置数据流任务的属性,例如 DefaultBufferSize 和 DefaultBufferMaxRows.
You might not setting up the properties of Data Flow Task such as DefaultBufferSize and DefaultBufferMaxRows.
这篇关于SSIS-OleDb 快速加载与批量插入任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!