事务的隔离级别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事务的隔离级别是啥?相关的知识,希望对你有一定的参考价值。

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。

1、Read uncommitted

读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。

2、Read committed

读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。

3、Repeatable read

重复读,就是在开始读取数据(事务开启)时,不再允许修改操作。

4、Serializable 序列化

Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。

参考技术A

在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。

原子性: 事务作为一个整体被执行,包含在其中的对数据库的操作要么全部都执行,要么都不执行。

一致性: 指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10块钱,不管成功与否,A和B的总金额是不变的。

隔离性: 多个事务并发访问时,事务之间是相互隔离的,一个事务不应该被其他事务干扰,多个并发事务之间要相互隔离。。

持久性: 表示事务完成提交后,该事务对数据库所作的操作更改,将持久地保存在数据库之中。

扩展资料

事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。

万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。


参考资料来源:百度百科-事务隔离级别

以上是关于事务的隔离级别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

事务和锁机制是啥关系? 开启事务就自动加锁了吗? 菜鸟,谢谢了。

Spring 事务类型与隔离级别

mysql 的事务隔离级别 及各个隔离级别应用场景,详细

如何更改mysql事务隔离级别

MySQL的默认事务隔离级别是?

Spring框架默认事物隔离级别