2016-12-19 27 views
0

テーブルにデータを挿入するには、の4種類のソースが必要です。ソースあたり約2M行。 私は4種類の手順でそれをやっているので、変更したくありません。複数のソースから同時にテーブルに挿入 - SQL Server

には、同時にを挿入することに問題はありますか?

Insert into TableA 
Select * 
From TableB 

Insert into TableA 
Select * 
From TableC 

Insert into TableA 
Select * 
From TableD 

Insert into TableA 
Select * 
From TableE 

ありがとうございました!

+2

私が見ることができる唯一の問題は、プライマリとなりますキーではない場合はシーケンス、またはナチュラルキーではありません。 select max(ID)+1を使用している場合は、並行性の問題が発生する可能性があります。 – xQbert

+0

私は問題はないと思います。私は(単一の)取引でそれを行うだろうが。 – user5226582

+0

私はmax(ID)を使用しておらず、またTableAには主キーがありません。 –

答えて

0

お試しできるオプションがいくつかあります。

  1. バッチ処理:* table1からの選択は、テーブルへの暗黙的ロックの作成には適していません。 データをバッチで取り込みます。適切なバッチサイズを見つけることは、いくつかの試行で成果をあげなければならないが、30-50Kのバッチサイズは大丈夫だと思う。

  2. オプションはSSISパッケージを使用することですが、処理の複雑さの大部分は世話をしていますので、頻繁に再利用され、SQLジョブを作成してパッケージを呼び出せるようにする必要があります。

あなたの頭が

A)SSIS Bを回転させ得るために、いくつかの参照リンク)Batch

私を使用してください - >グーグル

関連する問題