- 说一说你对数据库事务的了解
- ACID特征
- Atomicity 原子性
- 不可分割
- Consistency 一致性
- 事务从一种状态转变为另一种一致的状态
- Isolation 隔离性
- 每个读写的对象与其他事务操作对象相互分离
- Durability 持久性
- 事务一旦提交,结果是永久性的
- Atomicity 原子性
- 事务类型
- 扁平事务
- 所有操作处于同一层次,要么都执行要么都回滚
- 带有保存点的扁平事务
- 允许事务在执行中回滚到同一事物较早的某个状态
- 链事务
- 提交事务时,将必要的处理上下文传给下一个要开始的事务
- 嵌套事务
- 是一个层次结构框架。顶层事务控制子事务
- 分布式事务
- 在分布式环境下运行的扁平事务
- 扁平事务
- ACID特征
MySQL不支持嵌套事务
- ACID特性是怎么实现的
谈谈MySQL的事务隔离级别
- 读未提交
- 性能最好,不加锁,可以理解为没有隔离
- 读提交
- 读的时候加共享锁,写的时候加排它锁
- 可重复读
- MVVC方式(多版本控制并发)
- 串行化 | 隔离级别 | 脏读 | 不可重复读 | 幻读 | | —- | —- | —- | —- | | READ UNCOMMITTED | 可能 | 可能 | 可能 | | READ COMMITTED | 不可能 | 可能 | 可能 | | REPEATABLE READ | 不可能 | 不可能 | 可能 | | SERIALIZABLE | 不可能 | 不可能 | 不可能 |
- 读未提交
MySQL事务如何回滚
默认配置自动提交回滚- ROLLBACK
- ROLLBACK TO [SAVEPOINT] identifier