Как массово сделать UPDATE в MySQL?

В $products больше 10 тысяч записей, как можно оптимизировать UPDATE?

$products = [
  ['id' => 1, 'title' => 'Заголовок', 'price' => 120],
  ['id' => 2, 'title' => 'Заголовок 2', 'price' => 125],
  ...
];
foreach($products as $product){
  $db->query("UPDATE products SET price = '{$product['price']}' WHERE id = '{$product['id']}'");
}

Ответы (1 шт):

Автор решения: nazarpunk
update products
set price = case
                when id = 1 then 120
                when id = 2 then 125
                else price
    end
    where id in (1, 2);
→ Ссылка