【发布时间】:2018-04-14 20:17:35
【问题描述】:
故事是这样的:
当同一账户有2个10美元同时提现,账户总额只有10美元。
结果:均取款成功,账户余额为-$10。
如果我进行如下查询:
UPDATE table
SET amount = amount - 10
WHERE (amount-10 > 0) AND id = 123;
它将是安全和准确的,只有一次提款会成功。
由于金额无法索引,是否会出现性能问题?
【问题讨论】:
-
您的
id列上可能已经有一个主键。此查询中不需要任何索引。
标签: mysql sql web-applications transactions query-performance