首页 > 其他 > 详细

1.事务

时间:2020-02-07 01:39:56      阅读:106      评论:0      收藏:0      [点我收藏+]

1.什么是事务
  事务是一组操作,要么全部成功,什么全部失败的操作。

2.事务的ACID特性
  1)原子性
    要么全部失败,要么全部成功
  2)一致性
    状态前和状态后是一样的,例子:A给B转账,A和B加起来的总金额不变
  3)隔离性
    事务与事务之间互相独立,互不影响。如果事务没有隔离性,则会导致脏读、不可重复读取、幻读。
  4)持久性
    事务一旦提交,则是永久地保留在磁盘上,即使系统故障也改变不了。

3.事务没有隔离性导致的问题?(脏读、不可重复读、幻读)
  1)脏读
    脏读:一个事务读取了另一个未提交的事务。
    例如:A事务读取了未提交的B事务的数据。
  2)不可重复读
    不可重复读:A事务读取了一个数据值,但是别一个事务修改了这个值,后来A事务再次读取这个数据值。
    例如:A事务读取了数据值为1,B事务修改了这个数据值为2并且提交事务,但是A事务后来再次读取这个值,发现这个数据值为2并非为1。
  3)幻读
    幻读:A事务读取了一批数据值,后来B事务插入了一条记录并提交事务,但是后来A事务再次读取这批数据值。
    例如:A事务读取数据值为1的所有数据为N条,但是B事务又插入了一条数据并提交,后来A事务再次访问时,发现是N+1条数据。
    总结:1.脏读是读取了没有提交的事务,而不可重复读和幻读是读取的是已经提交的事务。
    2.不可重复读是因为另外一个事务修改的具体值,是针对于数据项。而幻读是因为另外一个事务增加或者删除一条数据,是针对一批数据记录,而非数据项。

 

1.事务

原文:https://www.cnblogs.com/cjf-lyt/p/12270844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!