使用可重复读取隔离时,SELECT .. FOR UPDATE有什么用?

pde*_*eva 6 mysql sql concurrency transactions percona

使用重复读取隔离时,可以确保在事务完成之前,不会修改使用SELECT读取的行。

这似乎类似于SELECT .. FOR UPDATE提供的内容。

那么,在使用可重复读取隔离时使用SELECT FOR UPDATE有什么意义呢?

cli*_*ath 5

当您在“可重复读取”下读取记录时,您将获得一个读取锁定,但其他事务也会获得一个读取锁定,这可能会阻止您稍后进行更新。使用FOR UPDATE会通知请求读锁的所有其他事务,它们应该等待直到完成记录更新。