脏读 : 一个事务读取到了另一个事务未提交的数据操作结果。可能造成所有数据一起回滚!

不可重复读 :事务 T1 读取某一数据后,事务 T2 对其做了修改,当事务 T1 再次读该数据时得到与前一次不同的 值。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。

幻读 : 事务在操作过程中进行两次查询,第二次查询的结果包含了第一次查询中未出现的数据或者缺少了第一次查 询中出现的数据(并不要求两次查询的 SQL 语句相同)。这是因为在两次查询过程中有另外一个事务插入数据造 成的

不可重复度和幻读区别:
不可重复读的重点是修改,幻读的重点在于新增或者删除。

例1(同样的条件, 你读取过的数据, 再次读取出来发现值不一样了 ):事务1中的A先生读取自己的工资为 1000的操作还没完成,事务2中的B先生就修改了A的工资为2000,导 致A再读自己的工资时工资变为 2000;这就是不可重复读。 例2(同样的条件, 第1次和第2次读出来的记录数不一样 ):假某工资单表中工资大于3000的有4人,事务1 读取了所有工资大于3000的人,共查到4条记录,这时事务2 又插入了一条工资大于3000的记录,事务1再次 读取时查到的记录就变为了5条,这样就导致了幻读。

Oracle 和 Mysql 数据库的隔离级别分别是什么? 
数据库事务的隔离级别有 4 个,由低到高依次为 Read uncommitted (读未提交)、 Read committed( 读提交 ) 、 Repeatable read (重复读)、 Serializable( 序列化 )。这四个级别可以逐个解决脏读、不可重复读、幻读这几 类问题。

  脏读 不可重复读 幻读
Read uncommitted
 Read committed ×
 Repeatable read  × ×
Serializable × × ×

什么是脏读、不可重复读、幻读? (数据库相关)相关推荐

  1. mysql 脏读 不可重复读 幻读_mysql事务隔离级别/脏读/不可重复读/幻读详解

    一.四种事务隔离级别 1.1read uncommitted 读未提交 即:事务A可以读取到事务B已修改但未提交的数据. 除非是文章阅读量,每次+1这种无关痛痒的场景,一般业务系统没有人会使用该事务隔 ...

  2. 脏读,不可重复读,幻读区别

    脏读 脏读又称无效数据读出.一个事务读取另外一个事务还没有提交的数据叫脏读. 例如:事务T1修改了一行数据,但是还没有提交,这时候事务T2读取了被事务T1修改后的数据,之后事务T1因为某种原因Roll ...

  3. oracle 脏读,脏读 不可重复读 幻读

    序言 脏读.不可重复读.幻读这几个概念开始接触和学习的时候是在大学学习数据库系统的时候,那时候对这几个专业名词的理解停留在概念文字上,并没有真正使用过实践中,最近工作中涉及到这几个概念方面的知识,就来 ...

  4. mysql不可重复读和重复读_MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读...

    MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的. 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不 ...

  5. 脏读,不可重复读,幻读区别和避免

    在了解脏读,不可重复度,幻读之前,首先要明白这三种情况的出现都是和数据库并发事务有关联的,如果所有的读写都按照队列的形式进行,就不会出现问题. 名词解析和解决方案 脏读 脏读又称无效数据读出(读出了脏 ...

  6. Mysql如何实现隔离级别 - 可重复读和读提交 源码分析

    Abstract 本文会(1) 演示Mysql的两种隔离级别.  (2) 跟着mysql的源代码来看看它是怎么实现这两种隔离级别的. Mysql的隔离级别 当有多个事务并发执行时, 我们需要考虑他们之 ...

  7. MySQL可重复读和读已提交实现原理,深入理解MVCC。

    1.隔离级别 MySQL中隔离级别分为4种,提未交读.读已提交.可重复读.串行化.同时MySQL默认隔离级别为可重复读. 图片 查看MySQL隔离级别 SELECT @@tx_isolation 设置 ...

  8. 三分钟了解MVCC(InnoDB如何实现可重复读和读已提交)

    快照读和当前读 快照读 快照读是指读取数据时不是读取最新版本的数据,而是基于历史版本读取的一个快照信息(mysql读取undo log历史版本) , 快照读可以使普通的SELECT 读取数据时不用对表 ...

  9. mysql 可重复读和读提交的区别

    事务的四种隔离级别 未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed):只能读取到已经提交的数据.Oracl ...

  10. 脏读、重复读、幻读;

    脏读 所谓脏读是指一个事务中访问到了另外一个事务未提交的数据,如下图: 如果会话 2 更新 age 为 10,但是在 commit 之前,会话 1 希望得到 age,那么会获得的值就是更新前的值.或者 ...

最新文章

  1. 团队项目第一阶段冲刺站立会议4(4月21日)
  2. SICP学习笔记(P27-P28)
  3. 经过几天的Scala回归Java的10个最烦人的事情
  4. php音频转换接口,PHP实现chrome表单请求数据转换为接口使用的json数据
  5. 修复RAID-5和镜像磁盘
  6. Acrobat Pro DC 教程,如何编辑 PDF 文件中的文本和图片?
  7. 去除 火狐浏览器自动给域名前加 www.
  8. web安全工具介绍(漏洞扫描、信息收集、提升权限的网站、app)持续更新
  9. Bootloader解锁加锁 Android刷机
  10. [JZOJ5666]【GDOI2018Day2模拟4.18】法力风暴(分治NTT 模板)
  11. mysql索引与md5_MySQL理解索引、添加索引的原则
  12. 音频频谱显示-显示音频文件静态频谱图(一)
  13. Exception类
  14. java全栈系列之JavaSE--数组的定义和创建023
  15. p2p网络,无边宇宙中的璀璨星河
  16. Android动画学习笔记(二)——动画插值器Interpolator
  17. 信息组织 | 信息组织的基本原理
  18. java游戏服务端_JAVA游戏服务端的速度比得上c++吗?
  19. 使用数组解决阶梯设置问题
  20. 数学成绩测试软件,小学数学测试软件.doc

热门文章

  1. android flutter教程,Android开发 学习Flutter 入门
  2. 拔剑金三银四:大厂面试流程、面试套路分享!你准备好“进厂拧螺丝”了吗?
  3. 【筆記】八部金剛功-張道長口述記載
  4. 智能硬件产品开发流程梳理
  5. 将图片背景设置为透明的方法介绍
  6. html怎么改变图片整体大小,html怎么改变图片大小
  7. 《查理·芒格:人类误判心理学》
  8. Spyder5 启动报错 spyder-kernels
  9. 数据模型 同比 环比_同比和环比计算公式?
  10. 《当程序员的那些狗日日子》二