美文网首页
事务的四个隔离等级

事务的四个隔离等级

作者: zydmayday | 来源:发表于2020-04-11 13:07 被阅读0次

1 read uncommitted

设置隔离等级为未提交读

mysql> set session transaction isolation level read uncommitted;

当线程A开启事务A后更新表中的数据,在未提交的情况下,
线程B开启的事务B可以访问到事务A的未提交结果,
则称之为未提交读隔离等级。

2 read committed

设置隔离等级为提交读

mysql> set session transaction isolation level read committed;

当线程A开启事务A后更新表,在未提交的情况下,
线程B开启的事务B是无法访问到事务A中的更新的。
在事务A执行commit之后,事务B即可访问到事务A中的更新。

3 repeatable read

设置隔离等级为可重复读

mysql> set session transaction isolation level repeatable read;

当线程A开启事务A后,保持事务A的连接。
此时线程B开启事务B并且插入了新数据并提交。
事务A此时执行select语句是无法访问到事务B所提交的数据的,
同时如果事务A此时insert了和事务B相同的数据,数据库会报错提示主键冲突。

就好像事务A产生了幻觉一样。这种场景我们称之为幻读

可重复读正如字面意思所示,事务A在执行多次select操作的时候,
不会受到其他事务的影响可以重复获取相同的数据。

4 serializable

设置隔离等级为可串行化

mysql> set session transaction isolation level serializable;

这是隔离中的最高等级,也是一把双刃剑。可以防止上述的幻读,方法就是给行加锁。

简单来说,
线程A开启事务A后在未进行操作的情况下,
线程B开启了事务B并且执行insert操作给表(user)增加了一行数据,
事务A在select表(user)的时候操作会被挂起,
直到事务B提交之后,事务A的select操作才会被执行。

也就是说事务B在执行insert操作后给表的新增行上了锁,
事务A在访问相同表的时候由于事务B仍然持有锁,
事务A必须等待事务B释放锁后(rollback或者commit)才可以操作该表。

由于锁的粒度是行等级的,这也就意味着如果事务B对表(user)的第10行进行了更新操作,在未提交的情况下,
事务A是可以访问到表(user)除了第10行以外的数据的。
如果select语句中包含了对第10行的访问或者操作,则将会被挂起。

总结

MySQL默认是可重复读隔离等级。

相关文章

  • 事务的四个隔离等级

    事务的四个隔离等级 为了解决这些并发问题,mysql提出了事务的四大隔离等级:RU、RC、RR、SR。你需要事先了...

  • 事务的四个隔离等级

    1 read uncommitted 设置隔离等级为未提交读。 当线程A开启事务A后更新表中的数据,在未提交的情况...

  • 事务隔离等级

  • MySQL事务基础篇—四种隔离级别

    前言 了解MySql事务及其隔离等级是分布式事务的基础,其实ACID和四种隔离等级并不复杂,关键是要真正找到其正确...

  • 掌握mysql事务的隔离级别,此篇足矣

    一、事务的隔离级别分类 按照隔离程度从低到高,MySQL 事务隔离级别分为四个不同层次: 1、读未提交(Read ...

  • Mysql 面试题

    1.什么Mysql的事务?事务的四大特性?事务带来的什么问题? Mysql中事务的隔离级别分为四大等级:读未提交(...

  • mysql事务

    一、事务隔离级别 事务是指具有ACID四个属性的事务,即原子性、一致性、隔离性和持久性。mysql根据事务的控制由...

  • 数据库事务隔离等级

    串行化(serializable) 隔离级别最高,并发最低。 在A|B两者都开启事务的前提下,A方对同一表的做修改...

  • 数据库事务和Spring事务的总结

    事务的四个特性ACID A:原子性,C:一致性,I:隔离性,D:持久性。 事务的四个隔离级别: 1.读未提交:两个...

  • 11、事务隔离级别有哪些?MySQL的默认隔离级别是?

    事务隔离级别有哪些?MySQL的默认隔离级别是? SQL 标准定义了四个隔离级别: READ-UNCOMMITTE...

网友评论

      本文标题:事务的四个隔离等级

      本文链接:https://www.haomeiwen.com/subject/tplymhtx.html