1

SSIS パッケージでひどい問題に直面しています。私のパッケージには1つのルックアップがあり、このような条件があります

OLEDB ソースには約 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.

これに対する効果的な解決策はありますか?

4

1 に答える 1

1

その規模では、Lookup の代わりに Merge Join 変換を使用することを検討します。OLE DB ソース SQL コードのキーで並べ替え、並べ替えを手動で定義します (参照http://www.ssistalk.com/2009/09/17/ssis-avoiding-the-sort-components/ )。この設計は、キャッシュされたルックアップよりも低速ですが、メモリ使用量の点でより適切にスケーリングされる傾向があります。

于 2012-11-05T22:45:47.433 に答える