Kullanımı:
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
Gördüğünüz gibi, LEAST(maxchange, FLOOR(x / y) )
birden çok kez kullanılır, ama her zaman aynı değere sahip olmalıdır. Sadece bir kez hesaplamak için, bu optimize etmek için bir yolu var mı?
Ben kayıt için, PHP bu kodlama ediyorum.