【发布时间】:2015-12-17 10:35:15
【问题描述】:
我是 SSIS 新手,遇到了这个问题:
我有超过 100.000 个 xml 文件,每个文件大约 16kb 大。它们有大约 200 列和一个主键。其中一些仅用于更新。 我必须用数据填充数据库,但每个文件加载/更新大约需要 1.5 秒。我正在使用 VS 2015 和 MS SQL。 我只想在工作时间内创建数据库,现在大约需要 44 小时,这似乎很荒谬。 (之后每天只有大约 10 个 xml 文件需要更新。)
我的 SSIS 控制流看起来像:
我不知道如何获得更好的性能。
我尝试过的事情: 设置 Ole DB = 每批 5000 行并使用快速加载
即使我只插入 xml(由于我不更新而导致错误结束),它也需要很多时间(每个文件大约 1 秒)。
任何帮助将不胜感激。
【问题讨论】:
-
检查查找转换的缓存选项:msdn.microsoft.com/en-us/library/ms141821.aspx 通常,它会缓存一个巨大的表格(永远占用)并且只使用它的一小部分,反之亦然。
-
我的 Lookup 做了全缓存,改成无缓存,但时间还是一样。
-
老实说,对非常小的文件进行 100,000 次读取会带来很大的开销。恐怕你被这种情况困住了......执行文件 i/o 很慢。
-
似乎我必须编写一个程序来过滤最新更新,然后只插入它们......希望会有一个简单的思维错误或魔术;)