百木园-与人分享,
就是让自己快乐。

简单易懂理解事务的隔离级别

在讲事务的隔离级别,我们先得回忆一下事务的隔离性

事务的隔离性是在当多个用户并发访问数据库时,比如说操作同一张表时,数据库为每一个用户开启事务,不能被其他事务的操作所干扰,多个并发事务之间需要相互隔离。即要达到这样的一种效果:对于任意的两个并发事务T1和T2,在事务T1看来,T2要么在T1开始之前结束,要么就是在T1结束之后才开始,这样每个事务都感觉不到有其他的事务在并发的执行。

一共分为四个隔离级别:

读未提交(Read Uncommitted):最低的隔离级别,允许其他事务看到没有提交的数据,会导致脏读。

读已提交(Read Committed):被读取的数据可以被其他事务修改,这样可能导致不可重复读。也就是说,事务读取的时候获取读锁,但是在读完之后立刻释放(不需要等事务结束),而写锁则是事务提交后才释放,释放读锁之后,就可能被其他的事务修改数据。对于我们常用的数据库(Mysql,Sql Server,Oracle)的默认隔离等级就是该等级。

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

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

以上的隔离级别从上到下依次增强。

来源:https://www.cnblogs.com/yiranfantexiJay/p/14955643.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 简单易懂理解事务的隔离级别

相关推荐

  • 暂无文章