事务并发产生的问题:
脏读:一个事务读取到了另外一个事务没有提交的数据
事务1:更新一条数据
------------->事务2:读取事务1更新的记录
事务1:调用commit进行提交
***此时事务2读取到的数据是保存在数据库内存中的数据,称为脏读。
***读到的数据为脏数据
详细解释:
脏读就是指:当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,
另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个
事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。
不可重复读:在同一事务中,两次读取同一数据,得到内容不同
事务1:查询一条记录
-------------->事务2:更新事务1查询的记录
-------------->事务2:调用commit进行提交
事务1:再次查询上次的记录
***此时事务1对同一数据查询了两次,可得到的内容不同,称为不可重复读
幻读:同一事务中,用同样的操作读取两次,得到的记录数不相同
事务1:查询表中所有记录
-------------->事务2:插入一条记录
-------------->事务2:调用commit进行提交
事务1:再次查询表中所有记录
***此时事务1两次查询到的记录是不一样的,称为幻读
详细解释:
幻读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,
这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表
中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,
就好象发生了幻觉一样。
事务产生的脏读幻读不可重复读
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
深入理解Spring事务的传播行为
ゞ .邓澎波
2019-02-24 12:42:54
全方位深度剖析PHP7底层源码
wy53780
2020-04-23 15:39:33
Redis主从复制以及主从复制原理
LoyaltyLu
2019-02-24 23:12:38
nginx+php执行请求的工作原理
xavier
2019-02-24 15:52:41
配置Nginx支持php,出现No input file specified错误的解决方法
lvqingpu
2019-02-24 13:15:35
PHP7源码编译安装详解
揚那個楊
2019-02-24 12:59:32
windows下配置php
jason1982
2019-02-24 12:57:09
PHP hebrev()函数用法讲解
php参考手册
2019-02-24 12:43:05
php中file_get_contents()函数用法实例
laozhang
2019-02-24 12:43:05
PHP中的pack和unpack函数
tlanyan
2019-02-24 12:35:02
<<深入PHP面向对象、模式与实践>>读书笔记:面向对象设计和过程式编程
tusi
2019-02-23 17:14:59
【PHP源码分析】small内存规格的计算
LNMPR源碼研究
2019-02-23 16:42:36
源码分析(五)—配置篇
瀟塵淵
2019-02-23 15:22:46
ASP、JSP、PHP 三种技术比较
lichenjing9
2019-02-23 14:06:52