我正计划在多线程应用程序上从MySQL获取1行,处理数据并保存。
每行处理数据大约需要10秒,并且有数百万行正在增长。
我想选择行并更新status
列,以防止其他线程访问该行。
但是,在两个查询正在执行的短时间内,其他线程可以访问该行,并且使用多查询或行锁定无法阻止它们。
我如何锁定其他线程无法读取的行?在MySQL中可以吗?如果没有,我可以改用哪个数据库?
最佳答案
MySQL Reference Manual :: SELECT .. FOR UPDATE and SELECT .. LOCK IN SHARE MODE Locking Reads
关于mysql - 多线程应用程序和mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6943382/