读已提交:A事务只能读到B事务已经提交的内容:

A事务读取数据(假如有10条),B事务插入或删除一条符合条件的数据但未提交时,A事务再次读取,看不到变化(还是10条),只有B提交事务,A才能读到变化后的数据。

可重复读:A事务只要不提交,每次读到的内容一致:
        A事务读取数据(假如有10条),此时B事务插入或删除一条符合条件的数据但未提交事务,A事务再次读取,结果一样,因为B并没提交事务!说明可重复读的级别也解决了脏读。
        A事务读取数据(假如有10条),此时B事务插入或删除一条符合条件的数据并提交事务,然后B事务也查了查,数据已经改变了,A事务再次读取,结果还是一样!
        A事务表示很疑惑,以为是B事务没提交造成的,B事务一脸懵,想着明明已经提交事务了呀,为了配合A事务,B事务又添加或删除一条符合条件的数据并提交事务,并且B事务也查了查数据并让A看了看,没错,查到的数据已经改变(数据多了或少了一条),A事务这回确认B事务已经修改并提交了,就再次读取,发现无论读取多少次结果都一样!A表示出现了幻觉!
        这就叫可重复读!因为每次读的都一样,实际上硬盘数据已经改变,A每次读取的都是备份数据!
        此时A事务提交后再去读取,终于读取结果是B事务修改后的数据了!

读已提交和可重复读的区别在于:个人以为可重复读是沿袭了读已提交并让事务隔离级别更高:

读已提交是A事务本身不用提交,就能读取到B事务修改并提交事务的数据,当然,A提交事务自然也是能读取B修改后的数据的;

可重复读对此基础上,要求A也必须提交事务,才能读取到B修改并提交事务的数据,若A在B修改并提交事务后没有提交事务就去读取,每次的结果都是一样的,但实际B事务已对数据做出成功修改(硬盘中的文件数据以改变),A事务读到的都是备份数据,总感觉出现了幻觉,所以叫幻读!

以上纯属个人观点,有啥错误各位大佬请指出,本人才疏学浅刚刚入门,看了很多介绍这两个区别的,发现讲的一头雾水,很多都没提到两者差别在于A事务也要提交,我是看了B站老杜的MYSQL教学才弄懂的

事务Read Committed (读已提交)和Repeatable Read(可重复读)到底什么区别?相关推荐

  1. MySQL是如何实现读已提交和可重复读的——MVCC原理

    先来看一下MySQL的事务隔离级别: 隔离级别 脏读 不可重复读 幻读 读未提交 有 有 有 读已提交 无 有 有 可重复读 无 无 有 串行化 无 无 无 MySQL有四种隔离级别:读未提交.读已提 ...

  2. mysql的读已提交和可重复读(Read Committed和Repeatable Read隔离级别)

    1.共享锁和排他锁 1.1.共享锁 1.2.排他锁 1.3.总述 2.MVCC 2.1.隐藏字段 2.2.Read View 2.3.Undo log 2.4.update的具体流程 2.5.可见性比 ...

  3. MVCC如何实现数据库读已提交和可重复读这两种隔离级别?

    文章目录 隐藏列 undo log ReadView 读已提交和可重复读的实现 我们都知道Mysql有四种事务隔离级别: 读未提交 读已提交 可重复读 串行化 这四个隔离级别的特点就不多赘述了,这次主 ...

  4. 数据库基础知识点-事务隔离级别区分(读未提交、读已提交和可重复读)

    事务隔离级别 数据库事务隔离级别分4个: 读未提交-Read uncommitted 读已提交-Read committed 可重复读-Repeatable read–MySQL 序列化-Serial ...

  5. 看完这篇文章,让你彻底理解事务隔离级别(读未提交、读已提交、可重复读、序列化)

    对于不同的事务,采用不同的隔离级别分别有不同的现象.主要有下面3种: 1.脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据. 2.不可重复读(nonrepeatable re ...

  6. MySQL数据库中,在读已提交和可重复读这两个不同事务隔离级别下幻读的区别

    目 录 1. 前 言 1.1 并发事务存在的问题 1.2 事务的隔离级别 1.3 快照读和当前读 2. 不同事务隔离级别下幻读的区别 2.1 读已提交下的幻读 2.2 可重复读下的幻读 2.2.1 情 ...

  7. MySQL事务隔离级别:可重复读、读已提交、读未提交。实操

    MySQL的事务隔离级别: 目录 一.可重复读(默认) REPEATABLE-READ: 二.读已提交  READ-COMMITTED: 一.可重复读(默认) REPEATABLE-READ: 准备实 ...

  8. MySQL事务的四种隔离级别,mysql中的不可重复读和幻读的区别,Repeatable read可重复读隔离级别下怎么不存在幻读问题?

    1. 事务的隔离级别 1.1 read uncommited:读未提交.一个事务读到了另一个事务未提交的脏数据,称之为脏读. 1.2 read commited:读已提交.解决了脏读问题,但当前事务两 ...

  9. mysql读提交和重复读区别_读已提交和可重复读的区别 命令行测试

    可重复读:两个事务进行数据操作他们是互不干扰的 ,事务先A进行数据查询,事务B进行一次事务修改并进行数据提交,事务A再进行一次查询,数据是不改变的. 读已提交:两个事务进行数据操作,事务先A进行数据查 ...

最新文章

  1. mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法
  2. 接口测试 2021 接口测试白皮书 欢迎下载阅读
  3. IO流文件的相对路径及获取系统路径方法
  4. 全国数据中心分布图上线 轻轻松松找机房
  5. 在PHP中如何要json中的数据,如何在不知道键值的情况下在php中读取JSON数据
  6. C++设计模式-桥接模式
  7. 半学期学计算机有感论文,【计算机学习心得论文】_计算机学习心得论文参考资料-毕业论文范文网...
  8. 如何配置Ubuntu 16.04 GRUB 2引导加载程序
  9. 苹果鸠占鹊巢打败微软 纳德拉欲以其人之道还治其身
  10. 2021美赛C题M奖思路
  11. H264码流中SPS PPS详解
  12. 190426网络编程
  13. 重温张欣穗购书衷心与申霞艳,张鸿等名师座谈《千万与春住》二零一九年六月二十四日
  14. java中eof错误是啥意思_EOFException异常详解
  15. windows电脑使用iTunes导入视频/音乐(本人使用,仅供参考)
  16. 香港虚拟主机与国内虚拟主机区别
  17. 开关电源保险丝、整流桥及输入滤波电容的选型
  18. 计算机上做报纸模板,word中怎么制作报纸排版模板
  19. mysql maser-slave
  20. App/QoE-Based Congestion control

热门文章

  1. Web前端成都培训机构
  2. python历史波动率_历史波动率计算问题?
  3. 去除人声--安装和使用spleeter分离人声和背景声
  4. s8 android调用相机,教你如何在安卓手机上使用谷歌 pixel相机
  5. 初识Clickhouse 安装与部署(一)
  6. 安卓APP登录忘记密码以及通过邮箱找回密码的实现
  7. python和matlab的区别_科学网—matlab和python语法对比(1) - 何亮的博文
  8. foreach变异非变异_神经网络产生了一堆看起来很变异的新动物
  9. POP3 SMTP邮件服务器搭建详细图解教程1
  10. 读书笔记-人月神话2