質問

私は、SQLサーバーのバックエンドとのアクセスに書いているアプリケーションがあります。最も頻繁に使用される部品の一つがここで質問に対するユーザーの選択の答え、答えはすでに与えられている場合、それはUPDATEを持っている場合ではないINSERTが実行された場合は、実行され、見て、その後解雇されるストアドプロシージャ。

これはうまく動作しますが、今、私たちは2008年はそれが新しいMERGEコマンドを使用するには、このSPを書き換えるために、より良い/より速く/より効率的である場合、私は思っていた表現SQLサーバーにアップグレードした。

これは速くSELECTは、INSERTまたはUPDATEのいずれかに続いてやって超える場合、ないの誰もが任意のアイデアを持っている?

役に立ちましたか?

解決

価値がない努力。おそらくなんとか、それはあなたに何も顕著を与えることはありません。

MERGEは、特に挿入するものを見つける/更新が難しい部分であるデータウェアハウスを目標としています。これは、すべての操作(挿入、更新)は、各条件について1つに比べて、マージの一組で行うことを可能にします。これはあなたのケースでは本当の違いはありません。

私は3億行のテーブルに3から5000000個の行をアップロードしています1つのデータベースを持っている - (一つのテーブルではなく2のスキャン)50%improoves私の性能がマージ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top