2010-12-17 15 views
0

私は数百万のレコードを削除し、変更されたものを再挿入するストアドプロシージャを持っています。私のトランザクションを分割する方法

begin tran - delete records - insert records - commit tran 

それは新しいレコードが取ることができることを認識する可能性があるため:これ

今私が組織した私の取引:速くないかもしれません以下かどうかかかわら

begin tran - delete records - commit tran 
begin tran - insert records - commit tran 

私は思っていました古いものの場所は、より速くなりますか?

+0

置き換え中の既存のものを更新するだけでなく、私はあなたを誤読していますか? – tvanfosson

+0

彼らは同じものではなく、数と内容が異なります – thomaspaulb

答えて

0

トランザクションの境界は、実行中のロジックに基づいている必要があります。最初のシナリオでは、古いレコードは削除されたものの、新しいレコードは挿入されない状態にデータベースを残す可能性があります。これは受け入れられますか?あなたは回復できますか?そうでない場合は、2番目のシナリオを使用する必要があります。

+0

ありがとうございます。トランザクションはロールバック/リカバリを容易にするものであり、速度ではありません。 – thomaspaulb

関連する問題