跳转至

事务管理

概述

事务

事务是数据库操作的逻辑单元,具有ACID特性。

ACID特性

ACID特性
  • 原子性(A): 事务要么全做,要么全不做
  • 一致性(C): 事务保持数据一致性
  • 隔离性(I): 事务间互不干扰
  • 持久性(D): 事务提交后永久有效

事务状态

事务状态

  • 活动: 事务正在执行
  • 部分提交: 操作完成,未提交
  • 提交: 事务成功完成
  • 失败: 事务无法继续
  • 中止: 事务回滚

并发控制

并发问题

并发问题
  • 丢失更新: 两事务同时更新同一数据
  • 读脏数据: 读到未提交的数据
  • 不可重复读: 同一事务两次读取结果不同
  • 幻读: 同一查询返回不同行数

封锁协议

封锁协议

  • 一级封锁协议: 防止丢失更新
  • 二级封锁协议: 防止读脏数据 三级封锁协议: 防止不可重复读

参考资料