并行查询-选择和更新-选择速度太快或更新速度太慢

时间:2019-11-06 12:39:05

标签: mysql sql concurrency transactions

我在几个线程中启动了一个脚本,该脚本从数据库中获取了一些数据

SELECT * from `base` LIMIT 1 where `used` = 0 

然后更新此行

UPDATE `base` set `used` = 1 where id ...

问题是:并行线程通常从表中获取相同的记录。 UPDATE无法及时避免这种情况。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

谢谢,戈登·利诺夫(Gordon Linoff)! 我应该先使用LOCK TABLE table WRITE,然后使用UNLOCK TABLES;