MySQL:为什么唯一性检查需要上S锁
2021-01-29 本文已影响0人
重庆八怪
简单记录。以前也没有细想,只知道会加S锁,今天一个朋友问到,并且找到了上面的文章。
总的说来还是为了保证,冲突的行在整个事务 持续期间不会更改。如果补上S锁,被其他事务更改, 那么一个事务中可能本次执行报错了,但是下次插入居然不报错插入进去了。DML操作没有read view,不能使用UNDO。
简单记录。以前也没有细想,只知道会加S锁,今天一个朋友问到,并且找到了上面的文章。
总的说来还是为了保证,冲突的行在整个事务 持续期间不会更改。如果补上S锁,被其他事务更改, 那么一个事务中可能本次执行报错了,但是下次插入居然不报错插入进去了。DML操作没有read view,不能使用UNDO。