事务ACID特性
事务是一组原子性的SQL查询,一个独立的工作单元。如果数据库引擎能够成功对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中任何一条因为崩溃或其他原因无法执行,那么所有的语句都不会被执行。事务内的语句,要么全部执行成功,要么全部执行失败。
原子性(atomicity)
一个事务必须被视为一个不可分割的最小单元。
整个事务中所有的操作要么全部提交(成功),要么全部回滚(失败)。
对于单一事务而言,不可能只执行其中的一部分操作。
一致性(consistency)
总是从一个一致的状态转换到另一个一致的状态。
若在事务执行过程中系统崩溃,因事务的修改还未提交,事务的修改不会被保存。
隔离性(isolation)
一个事务所做的修改在提交前,对于其他的事务是不可见的。
是否可见与**隔离级别(Isolation level)**相关。
持久性(durability)
一旦事务提交,修改将永久保存。即使系统崩溃修改的数据也不会丢失。
持久性的表现与持久性级别相关。
实现以上特性能提供更高的安全性,但也会需要数据库做更多的额外工作。