MySQL事务隔离级别及锁
2023-12-23 13:27:13 42 举报
AI智能生成
MySQL事务隔离级别是指在一个事务执行过程中对数据的可见性和操作的并发性进行控制的机制。MySQL提供了四种事务隔离级别:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。不同的隔离级别会对锁的使用和性能产生不同的影响。
作者其他创作
大纲/内容
<b>行锁</b>
独占锁 X显式加锁for update
共享锁 S显式加锁lock in sharre mode
表锁
独占锁lock tables tableName write
意向独占锁(事务自动)
共享锁lock tables tableName read
意向共享锁(事务自动)
元数据锁(Metadata Locks)DDL语句且与其他锁互斥
SQL标准事务4种隔离级别
<span style="font-size: inherit;">read uncommitted(RU)</span>读未提交
read committed(RC)读已提交
repeatable read(RR)可重复读
serializable串行化
MySQL事务隔离级别
支持标准的4种隔离级别默认隔离级别为RR但不会发生脏写、脏读、不可重复读和幻读MVCC多版本并发控制机制multi-version concurrent control
undo log多版本链条(快照)
ReadViewRC级别下事务的每次重新生成ReadView
Spring@Transactional(isolation=Isolation.Defalut)即数据库默认支持的隔离级别
Isolation.Defalut
Isolation.READ_UNCOMMITTED
Isolation.READ_COMMITTED
Isolation.REPEATABLE_READ
Isolation.SERIALIZABLE
0 条评论
下一页