mysql的四种隔离级别和七中传播行为
https://blog.csdn.net/qq_34375473/article/details/121071860
- spring框架中数据库的默认隔离级别和传播行为
参照Transactional注解:
- Innodb 引擎在repeatable read隔离级别下,如何解决部分幻读的问题
- 快照读通过 MVCC 方式解决了幻读。
- 当前读通过 next-key lock解决了幻读(事务一开始就加锁,例如select * from xxx for update、update、delete等)。
- 解决不了的case(如果在一个事务中发生了当前读,并且在另一个事务插入数据前没来得及加间隙锁的话):https://blog.csdn.net/BASK2311/article/details/128453901
- mysql各种锁以及加锁时机
类型 | 说明 | 加锁时机 |
行锁/记录锁 | 锁一条记录 | select或update语句中,通过主键或唯一索引,等值匹配(=),命中的数据; |
间隙锁(gap) | 锁记录间隙,左开右开,例如:(5,9) |
例如表中存在id为 9, 11的数据: select * from user where id > 15 for update; 加(11, +∞)的gap锁,注意不是(15,+∞) |
临界锁(next-key) | 间隙锁+记录锁,左开右闭,例如:(5,9] |
|
注意:Next-Key Lock和Gap Lock一样,只有在InnoDB的RR隔离级别中才会生效。
附录:
mvcc:https://mp.weixin.qq.com/s?__biz=MzI3NzE0NjcwMg==&mid=2650189992&idx=1&sn=e6c251930f8650dabd3b39f5f692b951&chksm=f368ad89c41f249f1a52aafc78df84167f322114ce5bd2ca13560198d7fe2c94e3ccecf5ed96&scene=21#wechat_redirect
当前读和快照读:https://blog.csdn.net/QuietThinking/article/details/117046744
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用