Please enable JavaScript.
Coggle requires JavaScript to display documents.
06-并发与多版本控制 (核心机制:锁 (TM(DML队列)锁 和DDL锁 (修改对象内容或对象本身), 闩和互斥锁…
06-并发与多版本控制
核心机制:锁
TM(DML队列)锁
和DDL锁
修改对象内容或对象本身
闩和互斥锁
内部锁:协调共享数据的访问
TX(事务处理)锁
修改数据的事务在执行期间获得该锁
多版本控制
读一致性的基础,同时物化多个版本的数据
使用undo信息来提供非阻塞的查询和一致的读
写一致性
进行两种读取
取得数据块来进行真正修改
一致读:发现要修改的行
查看重启动
事务
基本作用:将数据库从一种一致状态转变为另一种一致状态
隔离级别
根据现象
脏读:读取未提交数据,影响数据完整性,外键约束遭到破坏
不可重复读:多次读取某一行数据,结果不同
幻读:
标准定义
read uncommitted
目标:提供一个基于标准的定义以支持非阻塞读
read commited
1.事务只能读取数据库中已经提交的数据
2.不存在脏读,但有可能不可重复读和幻读
repeatable read
目标:不仅能给出一致的正确答案,还能避免丢失更新
serializable
1.最受限的隔离级别,提供最高程度的隔离性
2.保证两个相同的查询总返回相同的结果
3.使用undo段重构数据
使用条件
1.一般没有其他人修改相同的数据
2.需要事务级读一致性
3.事务都很短
read only
与serializable相似,区别是事务不允许修改