事务性质ACID
事务是InnoDB引擎实现的
原子性(Atomicity):回滚
原子指的是 :事务中的操作全部成功or全部失败(这一坨操作就是最小单位,不可分割)
原子性依靠 undo log 实现,用于回滚数据
持久性(Consistency):持久化
事务提交后,数据持久化到磁盘
持久性依靠 redo日志 实现,用于持久化数据
- InnoDB采用WAL技术,事务提交后,Redo Log写入磁盘,就算事务完成了,脏页有没有落盘无所谓!
隔离性(Isolation):隔离级别
并发事务之间不会互相影响,设立了不同程度的事务隔离级别,来提高性能
隔离性依靠 锁 + MVCC 保障
一致性(Durability):
事务开始前和结束后,数据都是满足约束规则(外键、唯一性约束 等)的,同时满足业务规则(账户余额不能为负 等)
一致性依靠 原子性、隔离性、持久性 共同保障