2

id = X の行の列を更新するクエリがあります

列には数字 (1 ~ 3) が含まれます。

最初に列の値をチェックして UPDATE が必要かどうかを判断する方が効率的ですか?それとも、列の値が更新先の値と同じであっても、とにかく UPDATE する方が良いですか?

最初に値を確認すると、不要な書き込みを節約できますか?

4

1 に答える 1

5

アップデートでチェックを行うことができます:

update my_table
   set my_column = 'new_value'
 where id = 'X'
   and my_column <> 'new_value'

操作ビットはand my_column <> 'new_value'です。これにより、値が同じ場合に更新しないことが保証されます。

利点は、テーブルを 1 回クエリするだけでよく、不要な書き込みを行わないことです。

于 2012-06-02T11:15:15.107 に答える