0

すべての値が存在しない場合に、テーブル レコードを最も効果的に (私の場合は主キーで) 更新するためのベスト プラクティスは何ですか?

想像:

PRIMARY_KEY1, COLUMN_2, COLUMN_3, COLUMN_4, COLUMN_5, COLUMN_6, ...

私は常に(PRIMARY_KEY1, COLUMN_5, COLUMN_4)orのようなタプルを取得(PRIMARY_KEY1, COLUMN_2, COLUMN_6, COLUMN_3)し、他のすべての値をデータベースで検索することなく、可能な限り最速の方法でそれらを更新したいと考えています。

私はこれを非常に速くしなければならないので、大量のデータベース要求を防ぐために、準備されたステートメントにバッチのようなものを使用したいと思います.

すべての返信に感謝します!

4

3 に答える 3

1

行アクセス時に SQL が値を入力することを期待することで、「ごまかす」ことができます。たとえば、このタイプのステートメント:

UPDATE MyTable SET (column_1, column_2, ..., column_6)
                      = (COLAESCE(@suppliedValue1, column_1),
                         COLAESCE(@suppliedValue2, column_2),
                         ...,
                         COLAESCE(@suppliedValue6, column_6))
WHERE primary_Key1 = @primaryKey

次に、パラメーターを入力するときに、何も指定されていないものをそのままにしておきnullます...そして、あなたはうまくいくはずです.

于 2013-01-26T00:51:06.390 に答える
0

SQL で行全体を更新する必要はありません。UPDATE の SET 構文を使用するだけです。

UPDATE table SET COLUMN_5 = 'foo', COLUMN_4 = 'goo' WHERE PRIMARY_KEY1 = 'hoo';
于 2013-01-25T22:19:45.177 に答える
0

こちらの投稿をご覧ください。

JDBC バッチ挿入のパフォーマンス

それを読んで。次に、他の同様の投稿の関連リンクの下にあるページの右側の列を見てください。必要なすべての回答がすぐに見つかるはずです。

于 2013-01-26T00:15:49.377 に答える