SQL性能下降-加载60000个XML文件- ssis - XML源

本文关键字:XML 文件 ssis 60000个 加载 性能 SQL | 更新日期: 2023-09-27 18:03:35

我有一个ssis数据流任务,它将xml数据加载到sql数据库中-超过60,000个xml文件。我的前几千个xml文件被更快地加载到表中。但随着时间的推移,加载速度急剧降低。第一个10k文件大约在10分钟内加载完成。接下来的10公里需要25分钟,然后性能慢慢下降。当我所有的60k+文件被加载时,大约需要4个小时。

是否有办法保持性能检查并以与初始文件相同的速度加载文件?

我也尝试过c#中的批量复制。但即使在那里,这个问题也存在。他们有什么变通的方法来提高我的表现吗?

SQL性能下降-加载60000个XML文件- ssis - XML源

您的部分代码将使我们更容易给您提示和想法!

我认为这个问题与内存有关。在将其放入sql数据库之前,您是否将所有文件读取到内存中?检查任务管理器!如果内存使用不断增长,则内存使用可能会出现问题。

我不知道文件是如何存储或命名的,但如果你可以-为什么不一次处理1-5000个,移动它们,然后再处理下一个?

尝试使用多个DFT而不是单个DFT。将每一个限制在5k/10k左右。希望这能缩短时间。

同样,时间上的差异可能是由于表上的索引。删除索引。加载记录。加载完成后重新应用索引。查询索引表上的记录集速度很快。但是,在一个索引表上执行Insert,并且有60k条记录,这是一个非常耗时的过程。

1。执行SQL Task (Drop index Before Loading)

2。for循环(xml文件加载的多个控制流)

3。执行SQL Task (create Index)