MySql事务隔离级别
2023-12-23 13:19:47 92 举报
AI智能生成
登录查看完整内容
MySQL事务隔离级别是控制并发事务之间相互影响的程度的机制。它定义了一个事务和其他正在并发执行的事务之间的可见性和隔离程度。MySQL提供了四种隔离级别:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。读未提交隔离级别允许事务
作者其他创作
大纲/内容
Isolation.Defalut
Isolation.READ_UNCOMMITTED
Isolation.READ_COMMITTED
Isolation.REPEATABLE_READ
Isolation.SERIALIZABLE
Spring@Transactional(isolation=Isolation.Defalut)即数据库默认支持的隔离级别
undo log多版本链条(快照)
ReadViewRC级别下事务的每次重新生成ReadView
支持标准的4种隔离级别默认隔离级别为RR但不会发生脏写、脏读、不可重复读和幻读MVCC多版本并发控制机制multi-version concurrent control
MySQL事务隔离级别
read uncommitted(RU)读未提交
read committed(RC)读已提交
repeatable read(RR)可重复读
serializable串行化
SQL标准事务4种隔离级别
元数据锁(Metadata Locks)DDL语句且与其他锁互斥
独占锁lock tables tableName write
意向独占锁(事务自动)
共享锁lock tables tableName read
意向共享锁(事务自动)
表锁
通常不会手动加表锁
独占锁 X显式加锁for update
共享锁 S显式加锁lock in sharre mode
行锁
共享锁与共享锁不互斥独占锁、独占锁、共享锁相互互斥通常使用Redis或zookeeper替代显式加锁
MySql事务隔离级别
0 条评论
回复 删除
下一页