MySQL默认事务隔离级别是什么?

MySQL默认事务隔离级别是什么?-mikechen

MySQL数据库事务隔离级别有4个,而MySQL默认事务处理级别就是repeatable read(可重复读)。

MySQL事务隔离级别主要是四种:读未提交、读已提交、可重复读、串行化。

MySQL默认事务隔离级别是什么?-mikechen

1.read uncommitted(读未提交)

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。

允许脏读,也就是可能读取到其他会话中未提交事务修改的数据。

读未提交这种隔离级别,很少应用到实际场景,因为会产生脏读等致命问题。

 

2. read committed(读已提交)

为了避免脏读,数据库有了比读未提交更高的隔离级别,即读已提交。

这是大多数数据库系统的默认隔离级别,但不是MySQL默认的,是Oracle的默认级别,会产生的问题:不可重复读、幻读。

 

3.repeatable read(可重复读)

repeatable read(可重复读)是MySQL默认事务处理级别,在这个事务持续期间,禁止其他事务对这个字段进行更新(update)。

可重复读是该隔离级别消除了不可重复读,但是还存在幻象读。

 

4. serializable(串行化)

完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞。

串行化可以解决所有问题,但一般不会使用,因为它会给每一 行读取的数据加锁,造成大量的等待和锁冲突。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法