2017-06-08 8 views
1

データフローに非常に時間のかかるルックアップ変換があります。これは、行ごとに、4-次にもうそこにあるべきな問題は、これだけで検索が、奇妙な〜の12分に1分〜からの実行時間が増加していない、次のSQLクエリSSISルックアップ変換で、選択に「トップ100」を追加するとどうなりますか

SELECT e.intExpenseID, [expense_detail_id]=d.intExpenseDtlID, f.* 
FROM dbo.tblExpense e 
JOIN tblExpenseDtl d ON d.intExpenseID = e.intExpenseID 
JOIN tblExpReceiptFile f ON f.intExpenseDtlID = d.intExpenseDtlID 
ORDER BY e.intExpenseID 

の結果を使用しています5ファイル。だから私はSELECTtop 1000を追加しました。これは私の質問です - これは私に(私の行が参照変換から結合する)TOP#の結果を与えるか、それとも私の行結合(検索変換のトップ#)の結果を与えるでしょうか。 2つめの場合は、どのようにして検索を高速化できるかについてのヒントに感謝します。

誰かが不思議に思うような場合には、最初にすべてのデータを取得するのではなく、ルックアップを実行する理由があります。

+1

私の以前のデータフローとそれをマージ結合しますまたはパラメータ化キャッシュに失敗するSQL文:https://docs.microsoft.com/en-us/sql/integration-services/data-flow/transformations/implement-a-lookup-in-no-cache-or-partial-cache -mode –

答えて

1

まあ、ルックアップ変換はmy row join (lookup transformation top #)で動作するように思われます。つまり、私の問題は悪い解決策でした。実際に働いていた

ソリューションは、追加のOLE DBソースを作成することでした、その後、ルックアップ変換の代わりに、あなたはどちらかの事前キャッシュルックアップデータのすべてをすることができます

+0

2つのデータセットが同じサーバー上にある場合は、SQLを使用します。 –

+0

@ Nick.McDermaid元のソースですべてのデータ変換を抽出するだけではない理由を尋ねる場合は、他のssisコンポーネントと結合する前にデータを使用する必要があります。 – Xyzk

関連する問題