之前看了一篇关于数据库隔离级别的文章觉得挺好。http://singo107.iteye.com/blog/1175084

不过很多人对“不可重复读”和“幻读“这两者的区别搞不清楚,包括我自己曾也是迷糊了很久一段时间。

但是,必须说明的是“不可重复读”关注的重点其实在于更新和删除这两种操作。

比如:一个事务A开启后,第一次读取到一些数据之后,就对这些数据进行加行锁,导致其他事务B无法修改(更新或者删除)数据,于是A事务不管怎么读,返回的都是一样的数据,这就实现了“可重复读”这个隔离级别。

可是要注意:事务A读取不到一条之前没有出现的数据,但是事务A自己插入时却出现冲突,这就产生了“幻读”。查不到,却冲突了!

所以说,行级锁是无法解决幻读问题的。

看到有朋友留言这里再补充一下吧!

关于幻读的再说明

幻读指的是一个事务在前后两次查询同一个范围的时候,后一次查询看到了前一次查询没有看到的行。

在可重复读隔离级别下,普通的查询是快照读,是不会看到别的事务插入的数据的。因此,幻读在“当前读”下才会出现。

幻读仅专指“新插入的行”!

InnoDB引擎中引入了间隙锁来解决幻读的问题,但是带来的负面结果是可能因为加锁范围大影响并发度!

简单解释不可重复读和幻读相关推荐

  1. 通俗地解释脏读、不可重复读、幻读

    spring(数据库)事务隔离级别分为四种(级别递减): 1.Serializable (串行化):最严格的级别,事务串行执行,资源消耗最大: 2.REPEATABLE READ(重复读) :保证了一 ...

  2. SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因...

    原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中 ...

  3. Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spr ...

  4. 多图理解MySQL事务的隔离等级,脏读,不可重复读,幻读的几大概念

    2021.3.17 今天在阅读<高性能MySQL>的第一章时,遇到了四大隔离等级的概念,反复琢磨了许久,最后弄出了几张图来帮助记忆,希望对路过的博友们有帮助. 目录 概念定义 三大问题之一 ...

  5. 脏读,不可重复读,幻读

    MySQL事务隔离级别: 在介绍脏读,不可重复读,幻读现象之前,我们先来了解MySQL的事务隔离级别,因为脏读,不可重复读,幻读等现象都是由数据库里的事务隔离级别来决定是否可能发生的. 在MySQL里 ...

  6. mysql 乐观锁 脏读_mysql 丢失更新1和2、脏读、不可重复读和幻读 事务隔离级别 悲观锁 乐观锁...

    事务是现代关系型数据库的核心之一.在多个事务并发操作数据库(多线程.网络并发等)的时候,如果没有有效的避免机制,就会出现以下几种问题: ( 第一类丢失更新 A事务撤销时,把已经提交的B事务的更新数据覆 ...

  7. 仅此一文让你明白事务隔离级别、脏读、不可重复读、幻读

    网络上关于这方面的博文有些偏理论,有些通篇代码,都不能深入浅出.本文用图文并茂的方式,配上行云流水般的代码,非要摆清楚这个问题.相关代码已提交至码云(点击这里下载). 事务是现代关系型数据库的核心之一 ...

  8. sql怎么读_大白话讲解脏写、脏读、不可重复读和幻读

    一般对于我们的业务系统去访问数据库而言,它往往是多个线程并发执行多个事务的,对于数据库而言,它会有多个事务同时执行,可能这多个事务还会同时更新和查询同一条数据,所以这里会有一些问题需要数据库来解决 我 ...

  9. 不扯概念,用例子演示什么是脏读,不可重复读,幻读?

    介绍 要聊事务,不可避免的要提到数据库事务的四大特性 原子性(Atomic) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 今天只聊隔离性,其他的比较 ...

最新文章

  1. Linux-Vim使用技巧
  2. 使用report clear appointment的all day flag
  3. centos一键安装redmine
  4. selenium+python自动化,数据驱动实例
  5. 15. Magento路由分发过程解析(四):请求重写
  6. 小福利,PMP考试真题刷起来,人人都当项目管理大师!
  7. 前端实现图片或视频预览的3种方法
  8. 音视频编码格式和封装格式的关系和区别是什么?
  9. 摩斯密码基础知识介绍
  10. 蓝桥杯 方格计数 Java
  11. 英语从句(英语兔学习笔记)
  12. Python处理2个表格。从源表格中筛选符合条件的数据,写入到dst表格中
  13. 测试人员,如何对直播类产品的直播质量进行测试呢?
  14. 登录onedrive显示无法连接服务器,Win10专业版系统下OneDrive无法登录提示连接到OneDrive时出现问题怎么办...
  15. maya中redshift渲染深度景深后nuke合成方法
  16. Litjson与JsonUtility读取json文件
  17. 使用spool的注意事项
  18. Android 8.0.0-r4源码目录结构详解
  19. 基于PyQT5实现垃圾分类小程序
  20. 定位及优化SQL语句的性能问题

热门文章

  1. 小米之困,注定不平凡
  2. 基于python的股票程序化交易软件_程序化交易(三):基于 Python 的股票程序化交易/量化框架 easyquant...
  3. 一个人会不会成功,只看是否拎得清…
  4. ARM 选型   —— arm,dap,fpga
  5. Java基础每日一练—第4天:加减乘除的运算
  6. 沐风老师3DMAX藤编沙发椅子建模详解
  7. 数据库的数学 函数 名称和详解
  8. [ZT]WINDOWS域管理-备份域升为主域控制器
  9. datagrid初用
  10. 方法 | 普通程序员如何转向机器学习