略微加速

略速 - 互联网笔记

对于MySQL数据库四种隔离等级

2020-09-15 leiting (2049阅读)

标签 MySql

对于MySQL事务有四种隔离级别,分别是以下四种:

1.读未提交

2.读提交

3.可重复读

4.串行化(加锁)

对于隔离我们都是说在并发的情况下发生的事情,读取的数据在并发的情况下会发生什么情况。

并且我们知道所有的事务都是原子性操作。但是在这些事务中隔离等级不一样,并发的速度和安全情况都是不一样的。等级越高,速度越慢但越安全。

1.读未提交:表示根本什么措施都没有,A读取了两次数据,但是B中间修改了一下数据,那么对于A来说,就会出现两次读取的数据不一致的情况。

2.读提交:还是A读取了两次数据,但是B中间修改了数据,这次跟上次的区别是,如果B修改数据的操作没有提交的话,A最后一次读取的数据跟第一次读取的数据是一样的值。但是如果在B提交了之后的话,A读取到的数据就是不一样了,这就是这个提交的意义,B提交和不提交的情况下,A读取的数据是不同的情况。

3.可重复读:代表无论B怎么改,只要A开始了这次事务,不论B在它的事务中修改数据没有,对A来说都是没有影响的。

换个角度是,只要A开始自己的事务,只要这个事务还没有提交,那么在这次事务中读取的数据肯定是一样的,这就是这个可重复读的重复的意思。

4:串行化:这个就是直接加锁了,对于A事务操作了数据,那么B就动不了,没有权限了。加锁嘛,就是这样。


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3