Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть 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 секунды.

Либо предложить и реализовать решение задачи иным способом.

6 лет назад
TheRelapse
Артур 
31 годРоссия
9 лет в сервисе
Был
4 года назад