MySQL Multiple UPDATE Speed

  1. UPDATE foo SET bar = 'bat' WHERE bag = 1
  2. UPDATE foo SET bar = 'tab' WHERE bag = 2
  3. UPDATE foo SET bar = 'abt' WHERE bag = 3
  4. ...x10000

~20 minutes.  And on a busy server, no doubt a plethora of table locks.

  1. UPDATE foo SET bar =
  2. CASE
  3. WHEN bag = 1 THEN 'bat'
  4. WHEN bag = 2 THEN 'tab'
  5. WHEN bag = 3 THEN 'abt'
  6. ...x10000
  7. END

4.27 seconds.

::tucks away note into hat::