我继承了一个SSIS包,它将500K行(大约30列)加载到一个临时表中.
现在已经烹饪了大约120分钟并且没有完成 - 这表明它的运行速度低于每秒70行.我知道每个人的环境都不一样,但我认为这与"典型"的情况相差几个数量级.
奇怪的是,登台表在INT(标识)列上有一个PK约束 - 现在我认为它可能会妨碍负载性能.登台表上没有其他约束,索引或触发器.
有什么建议?
----附加信息------
源是一个制表符分隔文件,它连接到两个单独的数据流组件,这些组件将一些静态数据(运行日期和批处理ID)添加到流中,然后连接到OLE DB目标适配器
访问模式是使用FastLoad的OpenRowset
FastLoadOptions是TABLOCK,CHECK_CONSTRAINTS
最大插入提交大小:0
我不确定回答我自己的问题的礼节 - 如果这更适合发表评论,请提前抱歉.
问题是文本文件中输入列的数据类型:它们都被声明为"文本流[DT_TEXT]",当我将其更改为"String [DT_STR]"时,在58秒内加载了200万行,现在是"典型"的领域 - 我不确定当这些列被声明时,Text文件源正在做什么,但它现在已经落后于我了!