技术栈
可重复读
码不停蹄的玄黓
7 小时前
数据库
·
mysql
·
可重复读
深入拆解MySQL InnoDB可重复读(RR)隔离级别:MVCC+临键锁如何「锁」住一致性?
在数据库的事务世界里,「一致性」是永恒的主题。想象一个电商场景: 你正用事务A查询某商品的库存(SELECT stock FROM product WHERE id=1),得到库存为100; 与此同时,事务B偷偷修改了库存(UPDATE product SET stock=90 WHERE id=1)并提交; 如果事务A再次查询,发现库存变成了90——这就是「不可重复读」,同一事务内两次读结果不一致。
lgx211
9 个月前
mysql
·
行锁
·
间隙锁
·
可重复读
·
幻读
MySQL 通过 Next-Key Locking 技术(行锁+间隙锁)避免幻读问题
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问题。幻读是一种事务并发问题,通常出现在Repeatable Read隔离级别下的范围查询操作中。幻读的现象是,事务在查询时多次执行相同的范围查询,但由于其他事务的插入或删除操作导致结果不一致,出现“幻觉”一样的记录。
丁总学Java
1 年前
数据库
·
mysql
·
mvcc
·
rr级别
·
可重复读
MySQL高级-MVCC-原理分析(RR级别)
而RR 是可重复读,在一个事务中,执行两次相同的select语句,查询到的结果是一样的。我们看到,在RR隔离级别下,只是在事务中第一次快照读时生成ReadView,后续都是复用该ReadView,那么既然ReadView都一样, ReadView的版本链匹配规则也一样, 那么最终快照读返回的结果也是一样的。