Оптимизировать SQL-запрос
Артур10 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
10.09.2018
Есть 2000 записей, в которых нужно обновить значения 2-х полей.
Пример запроса:
UPDATE `campaign` SET `amount_automatic_users` = (SELECT SUM(`amount_users`) FROM (SELECT * FROM campaign) AS t WHERE t.parent_id = '377680'), `amount_automatic_records` = (SELECT COUNT(*) FROM (SELECT * FROM campaign) AS t2 WHERE t2.parent_id = '377680') WHERE `id` = '377680'
Проблема в том, что такой запрос выполняется 5-6 секунд.
В итоге получится крайне долго.
Необходимо оптимизировать запрос так, чтобы запрос выполнялся намного быстрее, в идеале, не более 1 секунды.
Либо предложить и реализовать решение задачи иным способом.