查找性能问题

时间:2012-11-05 20:09:14

标签: ssis lookup

我正面临着SSIS包的可怕问题。在我的包中,我有一个查找,我有这样的条件

OLEDB Source有大约400,000条记录,查找表大约有1,200,000条记录。这两个表都可以增长,但来自OLEDB源的表将具有最大约900,000。两个表都有大约40-50列要查找。

There are 51528912896 bytes of physical memory with 32689860608 bytes free. There are 4294836224 bytes of virtual memory with 249348096 bytes free. The paging file has 120246493184 bytes with 109932904448 bytes free.

这有什么有效的解决方案吗?

1 个答案:

答案 0 :(得分:1)

在那个规模上,我会考虑使用Merge Join转换而不是Lookup。在您的OLE DB源SQL代码中按键排序并手动定义排序(ref http://www.ssistalk.com/2009/09/17/ssis-avoiding-the-sort-components/)。虽然比缓存查找慢,但这种设计在内存使用方面往往更好地扩展。