1 事务概述
1.1 事务概念
一组逻辑单元,使数据从一种状态转换到另一种状态;
1.2 事务特性
- 原子性(atomicity)
原子性是指事务是一个不可分割的工作单位,要么全部执行,要么全部不执行;
- 一致性(consistency)
一致性是指事务执行前后,数据从一个合法性状态变换到另一个合法性状态;
- 隔离性(isolation)
隔离性是指一个事务的执行不被其它事务所干扰;
- 持久性(durability)
持久性是指一个事务一旦被提交,它对数据库的改变就是永久性的;
总结:原子性是基础,一致性是约束条件,隔离性是手段,持久性是目的;
1.3 事务的状态
- 活动的(active)
事务对应的数据库操作正在执行过程中,就说该事务处在活动的状态;
- 部分已提交(partially committed)
当事务的最后一个操作执行完成,但由于操作都在内存中执行,所造成的影响并没有刷新到磁盘,就说该事务处在部分提交的状态
- 失败的(failed)
当事务处在活动的或者部分提交的状态时,数据库自身的错误、操作系统错误或者直接断电等无法继续执行,或者人为的停止当前事务的执行,就说该事务处在失败的状态;
- 中止的(aborted)
当回滚操作执行完毕时,也就是数据库恢复到了执行事务之前的状态,我们就说该事务处在了中止的状态;
- 提交的(committed)
当一个处在部分提交的状态的事务将修改过的数据都同步到磁盘上之后,我们就可以说该事务处在了提交的状态;
状态转换图如下:
