MySql事务与锁机制原理
- 从undo与redo日志,理解事务底层ACID底层原理
- 事务四大隔离级别底层实现原理
从undo与redo日志,理解事务底层ACID底层原理
- 事务特性
- 原子性:当前事务操作要么同时成功,要么同时失败。原子性由undo log日志来保证。
- 一致性:使用事务的最终目的,由业务代码正确逻辑保证。(由原子性、隔离性和持久性共同保证)
- 隔离性:在事务并发执行时,他们内部的操作不能互相干扰。
- 持久性:一旦提交了事务,它对数据库的改变就应该是永久性的。持久性由redo log日志来保证
事务四大隔离级别底层实现原理
- 事务隔离级别
InnoDB如何解决脏读、不可重复读和幻读的?
在InnoDB中,通过MVCC解决脏读和不可重复读,通过MVCC+间隙锁解决幻读的。
MVCC多版本并发控制机制,Mysql在读已提交和可重复读隔离级别下都实现了MVCC机制。