我们正在处理Server数据库中的大数据,
现在,包执行需要几个小时才能执行。
是否有任何方法/技术来优化包的执行时间?
我知道SSIS并行性的事。
还有其他最好的方法吗?
编辑:
我们处理的记录有2000多公顷。
SQL server数据库是数据源和目标(在同一服务器中),我使用了转换,如派生列、条件拆分、多播、数据转换、查找、OLEDB命令、OLEDB目的地、OLEDB源、合并、合并连接、排序器、聚合转换。
发布于 2012-09-11 16:54:59
一些优化SSIS的好例子:
发布于 2012-09-10 14:57:59
查看任何需要对数据进行排序的任务,这些任务通常都是减慢速度的任务。例如,不要使用合并联接,而是使用带有联接的查询数据源。
发布于 2012-09-18 13:23:01
关于在SSIS:SSIS中的非阻塞、半阻塞和全阻塞组件中使用不同类型转换的含义的一篇非常好的文章:
基本上,如果在包中使用排序或聚合,则在将任何行传递给下一个组件之前,将在这些组件上完全停止,直到每一行都被它们使用为止。只有当您在数据流中没有其他选择时才使用这些。
像Merge和Merge这样的半阻塞组件为正在传递的行创建一个新的缓冲区,因此在内存中创建缓冲区时会产生开销。在您的代码中谨慎使用这一点。
非阻塞将允许您最大限度地提高吞吐量。
https://stackoverflow.com/questions/12331497
复制相似问题