PHPとMySQLを使っている時に、foreachで回してその中で連続してupdateさせることがあります。 例えば、以下のようなDBテーブルがあるとします。 あんまり実用的ではないサンプルですが、今回はcase文と繰り返しのupdate文でどれだけ処理速度に差があるかを検証したいので良しとします。 create table users ( id int not null auto_increment, name varchar(255), primary key(id) ); そして、idとnameのハッシュデータを持っていて、DBのidカラムとハッシュデータのIDが一致したらnameを更新する場合。 いつもはforeachで以下のように書いていました。 <?php foreach ($hash as $id => $name) { $query = 'update users set