脏读,不可重复读,幻读区别
脏读
脏读又称无效数据读出。一个事务读取另外一个事务还没有提交的数据叫脏读。
例如:事务T1修改了一行数据,但是还没有提交,这时候事务T2读取了被事务T1修改后的数据,之后事务T1因为某种原因Rollback了,那么事务T2读取的数据就是脏的。
解决办法:把数据库的事务隔离级别调整到READ_COMMITTED
不可重复读
不可重复读是指在同一个事务内,两个相同的查询返回了不同的结果。
例如:事务T1读取某一数据,事务T2读取并修改了该数据,T1为了对读取值进行检验而再次读取该数据,便得到了不同的结果。
解决办法:把数据库的事务隔离级别调整到REPEATABLE_READ
幻读
幻读是指当事务不是独立执行时发生的一种现象。
例如:系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样。这就叫幻读。
解决办法:把数据库的事务隔离级别调整到SERIALIZABLE_READ
注意:
脏读、不可重复读、幻读的级别高低是:脏读 < 不可重复读 < 幻读。所以,设置了最高级别的SERIALIZABLE_READ就不用在设置REPEATABLE_READ和READ_COMMITTED了
不可重复读重点是修改;幻读重点是新增、删除
脏读,不可重复读,幻读区别相关推荐
- 脏读,不可重复读,幻读区别和避免
在了解脏读,不可重复度,幻读之前,首先要明白这三种情况的出现都是和数据库并发事务有关联的,如果所有的读写都按照队列的形式进行,就不会出现问题. 名词解析和解决方案 脏读 脏读又称无效数据读出(读出了脏 ...
- mysql 脏读 不可重复读 幻读_mysql事务隔离级别/脏读/不可重复读/幻读详解
一.四种事务隔离级别 1.1read uncommitted 读未提交 即:事务A可以读取到事务B已修改但未提交的数据. 除非是文章阅读量,每次+1这种无关痛痒的场景,一般业务系统没有人会使用该事务隔 ...
- mysql不可重复读和重复读_MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读...
MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的. 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不 ...
- oracle 脏读,脏读 不可重复读 幻读
序言 脏读.不可重复读.幻读这几个概念开始接触和学习的时候是在大学学习数据库系统的时候,那时候对这几个专业名词的理解停留在概念文字上,并没有真正使用过实践中,最近工作中涉及到这几个概念方面的知识,就来 ...
- mysql 虚读幻读区别_MySQL脏读、虚读、幻读
事务的特性: 原子性:指处于同一个事务中的多条语句是不可分割的. 一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态.比如转账,转账前两个账户余额之和为2k,转账之后也应该是2K. 隔离 ...
- mysql 可重复读和读提交的区别
事务的四种隔离级别 未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed):只能读取到已经提交的数据.Oracl ...
- Mysql如何实现隔离级别 - 可重复读和读提交 源码分析
Abstract 本文会(1) 演示Mysql的两种隔离级别. (2) 跟着mysql的源代码来看看它是怎么实现这两种隔离级别的. Mysql的隔离级别 当有多个事务并发执行时, 我们需要考虑他们之 ...
- MySQL可重复读和读已提交实现原理,深入理解MVCC。
1.隔离级别 MySQL中隔离级别分为4种,提未交读.读已提交.可重复读.串行化.同时MySQL默认隔离级别为可重复读. 图片 查看MySQL隔离级别 SELECT @@tx_isolation 设置 ...
- 三分钟了解MVCC(InnoDB如何实现可重复读和读已提交)
快照读和当前读 快照读 快照读是指读取数据时不是读取最新版本的数据,而是基于历史版本读取的一个快照信息(mysql读取undo log历史版本) , 快照读可以使普通的SELECT 读取数据时不用对表 ...
最新文章
- 802.11 MAC层帧解析
- BUUCTF(PWN)suctf_2018_stack
- 使用camera_calibration对xtion pro live深度相机进行参数标定,rosdep install camera_calibration报错Rosdep cannot find
- 【⭐C/C++の深入浅出⭐】int数与多枚举值互转
- RASP技术攻防之基础篇
- Asp.Net就业课堂之模板控件
- SAP Fiori Elements 学习笔记 - 2021年4月19日
- python加密程序_Python 简单的可逆加密程序
- 人生苦短,Python值得!这些Pandas隐藏小技巧你知道吗?
- Linux shell配置环境变量
- eNSP仿真模拟与实际环境的几个不符点
- Windows安装Redis新手教程
- lzg_ad:XPE常见问题FAQ
- 1972年发射失败的苏联金星探测器可能今年坠落地球
- 科大讯飞18岁成人礼:这家极客公司未来不设限
- 【转载】为什么要用50欧姆?
- WPS尾部空格没有下划线
- 函数是一等公民,这到底在说什么?
- 企业开源该选什么软件许可证?
- 专利快速预审的办理流程
热门文章
- #21天学习挑战赛—深度学习实战100例#——生成手写字体
- i3 10100Y怎么样 相当于什么水平
- Android基本控件之GridView
- 2013最受女性创业项目排行榜
- 计算机玩游戏不能全屏,电脑玩游戏不能全屏怎么办(windows7/8)?
- git提交出现警告Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known
- 还在为不想运动而发愁吗——一款开源免费的运动记录项目
- 图情笔记 | 图书馆“空间再造”问题答题思路
- vue ui 的简单使用
- GTD 工具 MyLifeOrganized v5.0.1 绿色便携版