1

数百万 (8500 万) の行を含むテーブルの 2 つの列を更新しています。これらを更新するために、次のような更新コマンドを使用しています。

UPDATE Table1

  SET Table1.column1 = Table2.column1 ,
      Table1.column2 = Table2.column2 

FROM 
      Tables and with a Join-conditions;

今私の問題は、そのために23時間かかっていることです。バッチサイズを使用した後でも、所要時間に大きな変化はありません。

しかし、5時間以内に更新する必要があります。それは可能ですか?それを達成するためにどのようなアプローチをとるべきですか?

4

2 に答える 2

0

このタスクを実行するために SSIS を使用しました。

最初に、2 列を更新する必要があるソース テーブルを取得しました。次に、ソーステーブルの列を更新するためにデータを取得する必要がある宛先テーブルの列にソース列をマップする必要があるルックアップタスクを実行しました。最後に、ルックアップからの結合条件に基づいてテーブルを埋める場所から、OLEDB の宛先を追加しました。

このプロセスは、更新スクリプトを実行するよりも非常に高速でした。

于 2012-04-17T05:14:15.580 に答える