MySQL事务概述

9 阅读1分钟

事务ACID特性

  • 原子性(Atomicity):一系列的操作整体不可拆分,要么同时成功,要么同时失败

  • 一致性(Consistency):事务在开始前和结束后,数据库的完整性约束没有被破坏

  • 隔离性(Isolation):事务的执行是相互独立的,它们不会相互干扰,一个事务不会看到另一个正在运行过程中的事务的数据

  • 持久性(Durabilily):一个事务完成之后,事务的执行结果必须是落盘在数据库持久化

事务隔离级别

  • Read uncommitted/RU:读未提交
  • Read committed/RC:读已提交
  • Repeatable read/RR:可重复读
  • Serializable:序列化/串行化

脏读、幻读、不可重复读问题

  • 脏读:脏读的意思是指一个事务读到了其他事务还未提交的数据
  • 不可重复读:在一个事务中,多次读取同一数据,先后读取到的数据不一致
  • 幻读:另外一个事务在第一个事务要处理的目标数据范围之内新增了数据,然后先于第一个事务提交造成的问题