Использование:
UPDATE `play`
SET `counter1` = `counter1` + LEAST(`maxchange`, FLOOR(`x` / `y`) ),
`counter2` = `counter2` - LEAST(`maxchange`, FLOOR(`x` / `y`) ),
`x` = MOD(`x`, `y`)
WHERE `x` > `y`
AND `maxchange` > 0
Как видите, LEAST(maxchange, FLOOR(x / y) )
используется несколько раз, но оно всегда должно иметь одинаковое значение.Есть ли способ оптимизировать это, чтобы рассчитать только один раз?
Я пишу это в PHP, для записи.