Вверх ↑
Ответов: 758
Рейтинг: 112
#1: 2011-12-23 12:19:21 ЛС | профиль | цитата
Chipset, Я не специалист
Tad может что-то лучше посоветует
но выскажу, что узкое место у тебя тройная выборка из БД
Например
SELECT kodres FROM mattek where kodpredst='%2' and predstico>'0' and sredotp<>'0'
UPDATE mattek SET sredotp=(SELECT round(sum(otp*v_post)/sum(v_post),2) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0") where kodres="%1"
Перебирает все значения mattek, потом опять перебирает промежуточно mattek и для каждого этого значения делает запрос к resurs.
Попробуйте использовать временные таблицы. Мне в свое время помогло ускорить выборку

карма: 1

0