首页 > 数据库 >MySQL 学习 --- 隔离级别

MySQL 学习 --- 隔离级别

时间:2022-12-30 14:33:07浏览次数:55  
标签:读取 重复 级别 --- 提交 MySQL 数据 隔离

   文章图片来自参考文章,图片非原创

概述



事务隔离级别可解决的问题

        下面的章节将会解释脏读,不可重复度和幻读。MySQL 默认的事务隔离级别是可重复读(repeatable – read ) 。

事务隔离级别


隔离级别

读未提交(read – uncommited)

           我们从名称上级就可以了解这个过程,读未提交,未commited 的数据有可能会回滚,那么读到的数据就是脏数据,这就是脏读了。下面用以下实例来说明。

           先创建两个客户端,创建A

ru_a


         创建B , 并开启事务,但是未提交

ru_b

          那此时我们看一下A读到的数据,由 450 变成了400

ru_a1

        所以这就有问题了,此时B 要是回滚呢

ru_b1

         那么A 此时操作呢

ru_a2


读提交

         读提交解决了脏读,但是存在不可重复读的问题 。上面由于读取没有提交的数据导致读到了脏数据,那么我就等你提交后再读取咯。

          我们再看一下 B 没提交,是否可以读到修改的数据。

21


22


23

       上面可以看到A 在没提交前读取是没有问题的,那么提交后呢?

24

25

        两次读取是不一样的,那么就是说不可重复读。


可重复读(repeatable – read )

        可重复读主要的特点是 : 解决了不可重复读,但是存在幻读。下面的例子展示数据是可重复读的

31


32

        可以看到两次读取是一致的。

33

           

34


35


36



总结






参考资料

标签:读取,重复,级别,---,提交,MySQL,数据,隔离
From: https://www.cnblogs.com/Benjious/p/10559811.html

相关文章