ソースとデスティネーション間でデータを1台のサーバーから別のサーバーに転送するシンプルなSSISパッケージがあります。別のLOOKUP変換を追加するとパフォーマンスが大幅に低下する理由SSIS
新しいレコードが挿入されている場合はそれが挿入され、それ以外の場合はHashByteValue
カラムがチェックされ、更新レコードが異なる場合はチェックされます。
テーブルには約150万行が含まれ、約50列が更新されます。
パッケージのデバッグを開始すると、約2分間何も起こらず、緑色のチェックマークが表示されます。その後、私はデータが流れ始めるのを見ることができますが、時には停止し、再び流れて、再び止まります。
全体のパッケージは、次のようになります。
しかし、私は(更新なし)だけINSERT
一部をすれば、それは1分と先テーブル内のすべての150万件のレコードを、完璧に動作します。
だから、レコードを更新したパッケージに別のLOOKUP
の変換を追加するので、パフォーマンスが大幅に遅くなる理由。 メモリとは何か?私はlookups
の両方でFULL CACHE
オプションを使用しています。
パフォーマンスを向上させる方法は何ですか?
は理由が自動成長のファイルサイズにすることができ:
疑いで、トレース! – ajeh
データとログの自動増加を100MBに増やし、それが役立つかどうか確認してください。1MBは小さすぎます。まれにAutogrowthにデフォルトの10%を使用することはまれです。 –
投稿を編集しました。あなたはデータベースの自動成長を見ることができます。ありがとう – Oleg