码迷,mamicode.com
首页 > 其他好文 > 详细

“事务”的个人理解,特性

时间:2018-11-04 00:33:15      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:书籍   一致性   str   控制   事务   其他   成功   font   增加   

事务:就是一系列的动作,这些动作要么一起完成,要么都不完成。

举例1:转账500,A账户扣钱500,B账户增加500,两个操作,如果其中一个没有完成,那么的话,要么500块凭空消失,要么无缘无故多了500。这显然是错误的。

举例2:购买书籍,书籍只剩下1本,A跟B几乎同时购买书籍,但是A比B稍微快一点点,那么A会发出update语句,书籍数目减1变为0,且成功购买书籍,同时B也发出update语句,书籍减1变为-1,此时因为没有事务控制,所以两者都成功更新书籍数目,显然这是不正常的,所以需要事务控制。

 

事务的四个特性:

  • 原子性:操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态。
  • 一致性:事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。
  • 隔离性:在该事务执行的过程中,无论发生的任何数据的改变都应该只存在于该事务之中,对外界不存在任何影响。只有在事务确定正确提交之后,才会显示该事务对数据的改变。其他事务才能获取到这些改变后的数据。
  • 持久性:当事务正确完成后,它对于数据的改变是永久性的。 

 

“事务”的个人理解,特性

标签:书籍   一致性   str   控制   事务   其他   成功   font   增加   

原文地址:https://www.cnblogs.com/convict/p/9902428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!