《凤凰架构》-本地事务章节 读书笔记

1、写锁又名排它锁,写锁禁止其他事务施加读锁和写锁,而不禁止其他事务读取数据(如果遇到了个不加任何锁的另一个事务2,写锁是无法阻止事务2读取数据的),这就是读未提交隔离级别中的脏读问题产生的根因。

2、范围锁和排它锁:范围锁不仅禁止范围已有数据的修改操作,还能防止在该范围内新增或者删除数据,而排它锁是无法做到后者的。

3、数据库隔离级别(从严到松):

可串行化:读写锁+范围锁,持续到事务结束

可重复读:只加读写锁,且二者持续到事务结束,存在幻读问题

读已提交:加读写锁,写锁持续到整个事务结束,但读锁在查询操作完毕之后立即释放,因此存在不可重复读的问题

读未提交:只加写锁,写锁持续到事务结束,但完全不加读锁,存在脏读问题(根本原因是写锁只禁止其他事务加读写锁,但是不禁止其他事务读取数据

注:上面说的写锁和读锁均针对事务期间涉及到的数据,并不一定是表锁,更常见的形式是行级锁(大多数事务所涉及到的数据都是数据库的某些行,而不是整个数据库)

5、数据库状态的一致性:系统中的所有数据是符合期望的,且相互关联的数据之间不会产生矛盾

相关推荐
倔强的石头_8 小时前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
小白鼠幻想家10 小时前
Agent 上下文爆炸:200 万退款事故复盘
架构
SelectDB10 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
杉氧14 小时前
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
android·架构·android jetpack
徐小夕15 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
玉宇夕落17 小时前
Harness Engineering 核心四层一:记忆模块的简单学习
架构
BothSavage17 小时前
OpenHarness源码研究-3-codex配置到输出对话
后端·架构
杉氧1 天前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
杉氧1 天前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
Lion091 天前
ReAct 循环:Agent 的思考引擎 — Think → Act → Observe
架构