2016-11-18 33 views
2

SSIS 2008でデータフロータスクを使用しています。ソースをsqlコマンドとして設定しています。これは私の状況に適しています。しかし、私は、特定の年の後にソーステーブルからデータを戻す必要があります。 where句としてこのフィルタを追加すると、パフォーマンスは停止するように見えます。私はすべてを元に戻して、それが理想的な解決策ではないが、私が必要としないものを削除することに踏み出した。Where句を使用するとパフォーマンスが低下するSSISデータフロータスク

これはwhere句です。私は、クエリを最適化するが、同じ遅いデータ転送を取得するためにさまざまな方法を試してみました:

where table.Date > dateadd(YY,-6,getdate()) 

誰もがWHERE句の問題にいくつかの光を当てることができますか?

+0

コマンドを表示できますか? –

+0

これはwhere句です。私はクエリを最適化するために異なる方法を試しましたが、同じ遅いデータ転送を取得しました - table.Date> dateadd(YY、-6、getdate()) – TAR

+0

レコードを比較するたびにそのdateadd関数を計算しています。 Select文の前の変数にその変数を設定し、その代わりに変数を使用できますか? –

答えて

0

私はこの問題をもう一度見て解決しました。私は非常に非効率的な結合を持っていたため、where句と組み合わせるとパフォーマンスが低下しました。すべてのあなたの答えとコメントをありがとう。

0

日付列のインデックスをソーステーブルに追加し、パフォーマンスが向上するかどうかを確認します。

0

テーブルがインデックスに登録されていて、インデックスが日付列をカバーしていますか?そうでない場合、WHERE句はテーブルをスキャンする必要があり、これが問題の原因となる可能性があります。

+0

パラメータの日付は私が試したものですが、全体のパフォーマンスを大幅に向上させるものではありません。ソースを第三者のアプリケーションとして索引付けすることができません。 – TAR

関連する問題