什么是mysql数据库事务?特性是什么?没有会有什么后果?

2018-09-2016:41:43数据库教程Comments2,155 views字数 843阅读模式

什么是数据库事务?如果没有事物会有什么后果?事务的特性是什么?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

事务是指作为单个逻辑工作单元执行的一系列操作,可以被看作一个单元的一系列SQL语句的集合。要么完全地执行,要么完全地不执行。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

如果不对数据库进行并发控制,可能会产生 脏读、非重复读、幻像读、丢失修改的异常情况。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

事务的特性(ACID)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

C, consistency 一致性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

事务将数据库从一种一致状态转变为下一种一致状态。也就是说,事务在完成时,必须使所有的数据都保持一致状态(各种 constraint 不被破坏)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

I, isolation 隔离性 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。换句话说,一个事务的影响在该事务提交前对其他事务都不可见。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

D, durability 持久性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

“A向B汇钱100”文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

读出A账号余额(500)。
A账号扣钱操作(500-100)。
结果写回A账号(400)。
读出B账号余额(500)。
B账号做加法操作(500+100)。
结果写回B账号(600)。
原子性:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

保证1-6所有过程要么都执行,要么都不执行。如果异常了那么回滚。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

一致性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

转账前,A和B的账户中共有500+500=1000元钱。转账后,A和B的账户中共有400+600=1000元。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

隔离性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

在A向B转账的整个过程中,只要事务还没有提交(commit),查询A账户和B账户的时候,两个账户里面的钱的数量都不会有变化。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

持久性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

一旦转账成功(事务提交),两个账户的里面的钱就会真的发生变化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/5195.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/5195.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定