0
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中编写了这个代码,用于记录。