事物
- 事务四大特性(简称ACID)
- 原子性 (Atomicity)
- 一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性
- 一致性(Consistency)
- 数据库总是从一个一致性的状态转换到另一个一致性的状态。(在前面的例子中,一致性确保了,即使在执行第三、四条语句之间时系统崩溃,支票账户中也不会损失200美元,因为事务最终没有提交,所以事务中所做的修改也不会保存到数据库中。)
- 隔离性(Isolation)
- 通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。
- 持久性(Durability)
- 一旦事务提交,则其所做的修改会永久保存到数据库。(此时即使系统崩溃,修改的数据也不会丢失。)
- 原子性 (Atomicity)
- 事物的状态
我们现在知道事务是一个抽象的概念,它其实对应着一个或多个数据库操作,设计数据库的大叔根据这些操作所执行的不同阶段把事务大致上划分成了这么几个状态:- 活动的(active)
事务对应的数据库操作正在执行过程中时,我们就说该事务处在活动的状态。 - 部分提交的(partially committed)
当事务中的最后一个操作执行完成,但由于操作都在内存中执
- 活动的(active)