![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 74
totfly
这个作者很懒,什么都没留下…
展开
-
深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
概念和区别SELECT … LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他session可以读取这些记录,也可以继续添加IS锁,但是无法修改这些记录直到你这个加锁的session执行完成(否则直接锁等待超时)。SELECT … FOR UPDATE 走的是IX锁(意向排它锁),即在符合条件的rows上都加了排它锁,其他session也就无法在这些记录上添加任何的S锁或X锁。如果不存在一致性非锁定读的话,那么其他session是无法读取转载 2021-11-07 18:40:16 · 675 阅读 · 0 评论 -
mysql的共享锁(S)、排他锁(X)、意向共享锁(IS)、意向排他锁(IX)的关系
一.S锁和X锁兼容性加锁方式S锁:共享锁加了S锁的记录,允许其他事务再加S锁,不允许其他事务再加X锁select…lock in share modeX锁:排他锁加了X锁的记录,不允许其他事务再加S锁或者X锁select…for update二.意向锁:表锁,相互兼容,表明“某个事务持有了锁、或准备去持有锁”1、意向锁的存在是为了协调行锁和表锁的关系,支持多粒度(表锁与行锁)的锁并存。2:1)意向共享锁(IS锁):事务在请求S锁前,要先获得IS锁2)意向排转载 2021-11-07 18:30:00 · 3869 阅读 · 0 评论 -
一条mysql语句是事务吗_mysql中事务
事务控制语言什么叫做“事务”:想象一个场景:小明给小花 汇款 5000元 买IPHONE,操作界面不用管,不管什么操作界面,最终都要落实到这样两条语句的执行:update 存款表set money = money - 5000 where账户=’小明’;update 存款表set money = money + 5000 where账户=’小花’;当,第一条语句执行成功,突然断电了(或任何其他情况),就会造成数据的“不一致”。要解决这个问题,就是“事务”的功能:事务就是用来保证多转载 2021-11-07 18:21:53 · 1065 阅读 · 0 评论