morontt.info

MySQLПакетное обновление или batch update

Иногда возникает потребность обновить много записей в базе данных, например 3000, 7000 или 25000 штук. Видел даже веб-формы с таким количеством полей, хоть это и полное безумие :) Можно, конечно, обновить эти записи поштучно, но бомбардировать сервер базы данных запросами - плохая идея. Желательно сделать это за раз. И сделать это возможно следующим образом:

INSERT INTO table (`id`, `x`, `y`) VALUES
  (1, 2, 3), (4, 5, 6), (7, 8, 9)
  ON DUPLICATE KEY UPDATE `x` = VALUES(`x`), `y` = VALUES(`y`);
Теги: mysql database sql

MySQLMySQL Query Cache

Оставляю себе в качестве шпаргалки.

Необходимые запросы к БД для проверки работоспособности и просмотра состояния дел.

show variables like 'have_query_cache';
show variables like 'query%';
show status like 'Qcache%';
Теги: cache mysql database