主要目的
事务会把数据库从一种一致状态转换为另一种一致状态。
在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。
InnoDB存储引擎中的事务完全符合ACID的特性。ACID是以下4个词的缩写:
- 原子性(atomicity)
- 一致性(consistency)
- 隔离性(isolation)
- 持久性(durability)
注意
虽然理论上定义了严格的事务要求,但是数据库厂商出于各种目的,并没有严格去满足事务的ACID标准。
例如:
- 对于MySQL的
NDB Cluster引擎
来说,虽然其支持事务,但是不满足D的要求,即持久性的要求。 - 对于
Oracle数据库
来说,其默认的事务隔离级别为READ COMMITTED,不满足I的要求,即隔离性的要求。虽然在大多数的情况下,这并不会导致严重的结果,甚至可能还会带来性能的提升,但是用户首先需要知道严谨的事务标准,并在实际的生产应用中避免可能存在的潜在问题。 - 对于InnoDB存储引擎而言,其默认的事务隔离级别为READREPEATABLE,
完全遵循和满足
事务的ACID特性
。
网友评论