我需要在 MySQL/InnoDB 上执行以下操作。假设我有一个由 3 个列组成的表(id、计数器、状态)
我需要:
要求:
就性能和可扩展性(适用于大表)而言,最佳解决方案是什么?
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
START TRANSACTION;
SELECT id
FROM mytable
WHERE status = 0
FOR UPDATE;
UPDATE mytable
SET status = 1,
cnt = cnt + 1
WHERE status = 0;
COMMIT;
Run Code Online (Sandbox Code Playgroud)