У меня есть таблица статей с довольно небольшим объемом данных (25 тыс. Строк).В таблице есть опубликованный столбец (логическое значение), который необходимо обновить в зависимости от состояния данных из внешнего канала.
Сначала я установил значение = 0 во всех статьях.Затем я загружаю данные фида во временную таблицу просто с идентификатором статьи и опубликовал = 1. Я хочу вернуть опубликованному статусу 1 из всех статей, у которых есть идентификатор в временной таблице (временная таблица содержит только опубликованные статьи- по умолчанию, если его нет в ленте, он должен быть неопубликован).
Сейчас я использую это:
UPDATE articles a
LEFT JOIN data_temp b
ON a.id = b.id
SET a.published = 1
WHERE b.id IS NOT null
Это работает, но очень медленно (как 200 секунд медленно на моем сервере разработки).Кажется, должен быть способ сделать это очень быстро.Спасибо за помощь.