MySQL事务隔离级别
2021-12-10 18:19:48 29 举报
AI智能生成
MySQL事务隔离级别
作者其他创作
大纲/内容
行锁
独占锁 X
显式加锁for update
显式加锁for update
共享锁 S
显式加锁lock in share mode
显式加锁lock in share mode
表锁
独占锁
lock tables tableName write
lock tables tableName write
意向独占锁(事务自动)
共享锁
lock tables tableName read
lock tables tableName read
意向共享锁(事务自动)
元数据锁(Metadata Locks)
DDL语句且与其他锁互斥
DDL语句且与其他锁互斥
SQL标准事务4种隔离级别
read uncommitted(RU)
读未提交
读未提交
read committed(RC)
读已提交
读已提交
repeatable read(RR)
可重复读
可重复读
serializable
串行化
串行化
MySQL事务隔离级别
支持标准的4种隔离级别
默认隔离级别为RR
但不会发生脏写、脏读、不可重复读和幻读MVCC多版本并发控制机制
multi-version concurrent control
默认隔离级别为RR
但不会发生脏写、脏读、不可重复读和幻读MVCC多版本并发控制机制
multi-version concurrent control
undo log多版本链条(快照)
ReadView
RC级别下事务的每次重新生成ReadView
RC级别下事务的每次重新生成ReadView
Spring@Transactional(isolation=Isolation.Defalut)
即数据库默认支持的隔离级别
与Spring7种事务传播属性(propagation)不是一回事
即数据库默认支持的隔离级别
与Spring7种事务传播属性(propagation)不是一回事
Isolation.Defalut
Isolation.READ_UNCOMMITTED
Isolation.READ_COMMITTED
Isolation.REPEATABLE_READ
Isolation.SERIALIZABLE
0 条评论
下一页