2016-09-08 92 views
0

我将数据插入到ssis的Table1中。数据加载非常缓慢每分钟(5-10K记录)插入我已经选择目标任务中的快速加载选项,该选项也没有帮助我。SQL数据通过ssis缓慢插入

在另一个表(Table2)的同一个服务器中,数据加载正在非常快速地发生,这与数据表1相比具有更多的数据和更多的索引。

为什么Table1数据插入缓慢?

请帮帮我。

+0

表定义,索引,触发器等? – jarlh

回答

0

减缓加载包的原因可能是多种多样的。通常,它们与内存,目标,索引,日志记录等有关。您是否尝试过等效查询的性能?如果这样更好,您可以使用Execute SQL Task而不是data flow task

在您的软件包中,您是否有OLE DB Command转换或其他完全阻止转换,如fuzzy lookupfuzzy grouping?由于OLE DB Command转换是逐行进行的,所有完全阻塞的转换都会产生大量开销。

看来您正在使用OLE DB目的地,因此您可以相应地更改MICS(最大插入落实大小)和RPB(每批的行)。如果在目标表上有聚簇索引,则由于该事件是大批量会对内存产生负面影响。

+0

感谢您的回复。 我使用oledb源和oledb目标我保留了选项话筒(1000000)和RPB(100000)。在源和目标之间我使用查找来避免重复。 总共5个索引(非集群)应用在表上我禁用索引并加载,插入发生得非常快。如果启用了一个索引,那么数据插入的速度也很慢。有什么我需要检查索引 –