标签:技术分享 技术 串行化 不重复 gap c中 事务 就是 bsp
Isolation
隔离级别 | 脏读(Dirty Read) | 不可重复读(NonRepeatable Read) | 幻读(Phantom Read) |
未提交读(Read uncommitted) | 可能 | 可能 | 可能 |
已提交读(Read committed) | 不可能 | 可能 | 可能 |
可重复读(Repeatable read) | 不可能 | 不可能 | 可能 |
可串行化(Serializable) | 不可能 | 不可能 | 不可能 |
·未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据
·提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 (不重复读)
·可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读
·串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞
排它锁:
Record Lock:单纯锁定一行,ABC,更新B,锁住B
Gap Lock:锁定目标记录周边的记录,ABC,更新B,锁住AB、BC,防止在A与B和B与C中间插入记录,防止幻读
Next-key Lock:锁定目标及周边的记录,ABC,更新B,锁住AB、B、BC,防止在A与B和B与C中间插入记录,防止幻读
标签:技术分享 技术 串行化 不重复 gap c中 事务 就是 bsp
原文地址:https://www.cnblogs.com/lvjianwei/p/9809844.html