[转]脏读,不可重复读,幻读的理解
【http://my.oschina.net/u/219582/blog/59834 】
1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。
2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。例如,一个编辑人员两次读取同一文档,但在两次读取之间,作者重写了该文档。当编辑人员第二次读取文档时,文档已更改。原始读取不可重复。如果只有在作者全部完成编写后编辑人员才可以读取文档,则可以避免该问题。
3. 幻读 : 是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。例如,一个编辑人员更改作者提交的文档,但当生产部门将其更改内容合并到该文档的主复本时,发现作者已将未编辑的新材料添加到该文档中。如果在编辑人员和生产部门完成对原始文档的处理之前,任何人都不能将新材料添加到文档中,则可以避免该问题。
转载于:https://www.cnblogs.com/hont/p/4547811.html
[转]脏读,不可重复读,幻读的理解相关推荐
- mysql 脏读 不可重复读 幻读_mysql事务隔离级别/脏读/不可重复读/幻读详解
一.四种事务隔离级别 1.1read uncommitted 读未提交 即:事务A可以读取到事务B已修改但未提交的数据. 除非是文章阅读量,每次+1这种无关痛痒的场景,一般业务系统没有人会使用该事务隔 ...
- 脏读,不可重复读,幻读区别
脏读 脏读又称无效数据读出.一个事务读取另外一个事务还没有提交的数据叫脏读. 例如:事务T1修改了一行数据,但是还没有提交,这时候事务T2读取了被事务T1修改后的数据,之后事务T1因为某种原因Roll ...
- oracle 脏读,脏读 不可重复读 幻读
序言 脏读.不可重复读.幻读这几个概念开始接触和学习的时候是在大学学习数据库系统的时候,那时候对这几个专业名词的理解停留在概念文字上,并没有真正使用过实践中,最近工作中涉及到这几个概念方面的知识,就来 ...
- mysql不可重复读和重复读_MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读...
MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的. 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不 ...
- 脏读,不可重复读,幻读区别和避免
在了解脏读,不可重复度,幻读之前,首先要明白这三种情况的出现都是和数据库并发事务有关联的,如果所有的读写都按照队列的形式进行,就不会出现问题. 名词解析和解决方案 脏读 脏读又称无效数据读出(读出了脏 ...
- 对脏写、脏读、不可重复度、幻读的理解笔记
写在正文前面,以下仅MySQL小白进阶 用于记录对MySQL事务并发执行可能导致的4个问题的理解. 读https://www.cnblogs.com/CodeBear/p/12710670.html后 ...
- mysql系列:加深对脏读、脏写、可重复读、幻读的理解
关于相关术语的专业解释,请自行百度了解,本文皆本人自己结合参考书和自己的理解所做的阐述,如有不严谨之处,还请多多指教. **不可重复读的重点是修改: **同一事务,两次读取到的数据不一样. 幻读的重点 ...
- mysql可重复读和幻读的理解
mysql可重复读和幻读的理解 可重复读和幻读的定义 最后总结 参考资料 很多教程和书籍对mysql的可重复读和幻读的解释都比较含糊,本文结合原理和其他的考证,深入分析下. 这里讨论的引擎是常用的In ...
- Mysql如何实现隔离级别 - 可重复读和读提交 源码分析
Abstract 本文会(1) 演示Mysql的两种隔离级别. (2) 跟着mysql的源代码来看看它是怎么实现这两种隔离级别的. Mysql的隔离级别 当有多个事务并发执行时, 我们需要考虑他们之 ...
- MySQL可重复读和读已提交实现原理,深入理解MVCC。
1.隔离级别 MySQL中隔离级别分为4种,提未交读.读已提交.可重复读.串行化.同时MySQL默认隔离级别为可重复读. 图片 查看MySQL隔离级别 SELECT @@tx_isolation 设置 ...
最新文章
- 拼多多java开发一面、二面合并面经
- C#的UInt64.MaxValue和C语言的0xffffffffffffffc5ull
- 取特定字符串后的数字 linux_Linux相关操作(四)
- Oracle入门(七)之表空间
- linux 问题一 apt-get install 被 lock
- mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句
- 中海达gps软件wince_应用|无人机航测15分钟能做啥?中海达PPK告诉你答案
- 哈佛MIT联手出品 | 造价低于1美元的机械臂,可承自身重量千倍
- oracle 产看执行计划_ORACLE数据库查看执行计划的方法
- 后缀表达式----栈
- 数字信号处理(4)- 自适应滤波器
- 【引用】pygame菜鸟入门指南
- linux命令如何查看dns,linux查看dns命令
- Java中如果被除数是零时的异常处理
- 清华大学联手中科院顶会发文:全面分析四大自动驾驶策略
- 在北京注册公司的全过程
- JAVA:将CSV文件转换成JSON
- CPC (Contrastive Predictive Coding)
- 记录自己首次在eclipse中配置tomcat并运行jsp踩过的坑
- linux C语言分区设备
热门文章
- java unexpected type_Java 10 赋值Arrays.asList给var变量:AssertionError: Unexpected intersection type...
- 5G NR上行控制信道PUCCH
- windows10 环境下的amqp安装步骤(图文)
- 关于form组件的补充-------formChoice
- React + fetch API + 百度地图api + 跨域 填坑
- webstorm主要快捷键
- 以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题...
- 【Xamarin挖墙脚系列:使用Xamarin进行Hybrid应用开发】
- Mini 容器学习笔记4——组件的生命周期(应用篇)
- Remoting简介