【发布时间】:2021-07-08 18:20:09
【问题描述】:
我目前正在使用“for update”来读取锁定记录,而一个线程从表中读取一行。但是,当另一个线程读取该表时,它会在第一个线程完成其事务并释放其记录上的锁后将相同的记录返回给我。
在 MySQL 5.7 中读取时有什么方法可以跳过锁定的记录?
【问题讨论】:
标签: mysql multithreading
我目前正在使用“for update”来读取锁定记录,而一个线程从表中读取一行。但是,当另一个线程读取该表时,它会在第一个线程完成其事务并释放其记录上的锁后将相同的记录返回给我。
在 MySQL 5.7 中读取时有什么方法可以跳过锁定的记录?
【问题讨论】:
标签: mysql multithreading
SKIP LOCKED 的功能在 MySQL 5.7 中不受支持。但它在 MySQL 8.0 中:
https://mysqlserverteam.com/mysql-8-0-1-using-skip-locked-and-nowait-to-handle-hot-rows/
如果你需要一些软件功能,那么你应该升级到支持它的软件。
【讨论】: