У меня есть PHP-скрипт, который:
Мое текущее решение использует Laravel Eloquent. Проблема в том, что загрузка ЦП MySQL очень высока (90-100% на Mac), каждый раз более 10000 строк. Есть ли более быстрый способ сделать это? Может просто с SQL?
Редактировать:
Теперь все работает нормально, ожидаем обновления:
UPDATE foo_new as new
JOIN foo_active as active
ON active.id_bar = new.id_bar
SET active.blah=new.blah,
active.time_left=new.time_left
Это все еще очень медленно и использует много процессора.
Изменить 2:
Решением являются индексы. 🙂
Почему вы переносите это на прикладной уровень? удалить и обновить таблицу, используя силу mysql
Я сделал что-то подобное использовать это
1) Обновите table1 новыми значениями table2, используя соединение
UPDATE tab1
INNER JOIN tab2 ON (tab1.DnameId = tab2.DNDOMAIN_ID)
SET
tab1.col = tab2.col;
2) Для удаления — удалить все строки из таблицы1, которых нет в таблице2.
delete from tab1 where tab1 .id not in (
select id from tab2
)
Других решений пока нет …