InnoDB的事务分析
mysql事务四个特性:ACID
Atomicity:事务最小工作单元,里面的操作要么全部成功,要么全部失败。
Consistency:事务执行前后,数据完整性不会被破坏。
Isolation:事务之间不会相互干扰。
Durability:事务提交之后,对数据的修改是永久性的,即使系统故障也不会丢失数据。
事务的原子性(Atomicity),一致性(Consistency),持久性(Durability)是由InnoDB的redo log,undo log,force log at commit机制来实现。
事务的隔离性(Isolation)由MVCC和Lock机制实现
注意事项:
- Redo Log是在mysql崩溃时候,用来恢复数据用的;
- Undo Log用于对事务进行撤销操作,也可以用来多版本控制;
- Force Log At Commit机制用来保证事务提交之后,Redo Log日志已经持久化。