2017-01-02 2 views
1

(INSERT/UPDATE/DELETE)の複数の操作を組み合わせなければならない場合、MERGEが使用されています。しかし、私の場合はでMERGEの文を使ってcolumnstableに更新しています。しかし、データがそれほど大きくないため、実行には時間がかかることがあります。それはMERGEのためですか?mergeを使用してもよろしいですか、それともUPDATEに変更する必要がありますか?MERGEステートメントは、単にテーブルを更新するときに使用するのに適したオプションですか?

+0

の2つのアプローチを比較し、アクセスプラン、統計情報などを使って最適なものを選択します。 –

+0

あなたの意図が更新されるだけならば、あなたは 'UPDATE'ステートメントに固執すべきです。 –

答えて

2

UPDATEを使用することをおすすめします。より多くの試行錯誤があり、バグが少なく、より良い実行計画を立てることができます。また、ソースコードを読むときに意図を確認することも明確です。

ただし、セマンティクスは必ずしも同じではありません。

ターゲット行にマップできる複数の行がある場合、MERGEはエラーを発生し、UPDATEは可能なオプションの1つを決定的に選択しません。

この意味が重要である場合(違反した場合に一致とエラーが1つのみであると主張したい場合)、MERGEを使用することができます。

関連する問題