如果客户端会话当前持有读锁(允许并发读取,同时已经阻止写入),然后在同一表(S)上获得写锁,MySQL是否保证锁是连续的?mysql> INSERT INTO `awesome` ...如果我偏执于文档中的语句,那么我必须假设,在我的会话暂时没有锁的两个锁状态之间会有一个短暂的时刻,在这段时间内,并发会话可能会修改表,从而使
根据,更新锁可以在需要写入的时候转换为独占锁。同时,三个锁(X、S和U)的兼容性可以参考下表。X S US ✗ ✓ ✓然而,在一些博客中提到,从MySQL 5.7开始就有一个SX锁,它实现了B-树上操作的文件并发(1977通过这些博客,我发现SX锁与update锁非常相似。例如,它们具有相同的兼容性表。
由于我找不到更多关于MySQL中S