MySQL关于ACID的原理以及相关问题
事务
事务的特性
原子性 A
整个数据库事务都是不可分割的工作单位,只有使事务中的所有数据库操作都执行成功,事务才算成功
一致性 C
一致性是指事务使数据库从一种状态转移到下一种一致性状态,事务的执行之前和执行之后都必须处于一致性状态
隔离性 I
事务隔离性要求每个事务的读写对象对其他事务的操作对象能相互分离,即在提交之前对其他事务都不可见
持久性 D
事务一旦提交结果就是永久性的,即使数据库发生宕机等故障也能将数据恢复。
InnoDB如何实现ACID
原子性 InnoDB利用undo log(回滚日志)来实现事务的原子性,当事务回滚时能够撤销所有已经成功执行的SQL语句。undo log中记录了数据被修改前的信息以及新增和被删除的数据信息。 比如:
当删除一条数据的时候,就需要记录这条数据的
共有 0 条评论