事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致状态转换为另一种一致状态。
关键词事务四大特性ACID
MySql事务隔离级别
MVCC多版本并发控制实现方式
运行过程
MVCC解决了幻读?
InnoDB解决幻读的方式
事务的分类扁平事务Flat Transactions
带有保存点的扁平事务Flat Transactions with Savepoint
链事务Chained Transaction
嵌套事务Nested Transaction
分布式事务
重做日志redo log
undoinsert undo log
update undo log
group commit
MySQL分布式事务XA事务
两段式提交two-phase commit
1.事务四大特性ACID
原子性Atomicity:
一个事务必须被视为一个不可分割的最小工作单元。(要么全部做要么全部不做)
一致性Consistency:
数据库总是从一个一致性的状态转换到另外一个一致性的状态。(银行交易例子)
隔离性Isolation:
一个事务所做的修改在最终提交之前,对其他事务不可见。
持久性durability:
一旦事务提交,其所做的修改就会永久保存到数据库中。
2.MySql事务隔离级别
2.1未提交读Read uncommitted(脏读)
在B事务提交之前,A事务可以看到B事务带来的变化。(不锁定读)
2.2提交读