前言
本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。
相关链接
事务4大特性ACID(思维导图):https://kdocs.cn/l/svHrg3qhhcfo
事务的特性(ACID)
名称 | 英文名称 | 描述 |
---|---|---|
原子性 | Atomicity | 语句要么全执行,要么全不执行,是事务最核心的特性,事务本身就是以原子性来定义的。实现主要基于undo log日志 |
一致性 | Consistency | 指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态 |
隔离性 | Isolation | 保证事务执行尽可能不受其他事务影响。InnoDB默认的隔离级别是RR,RR的实现主要基于锁机制、数据的隐藏列、undo log和类next-key lock机制 |
持久性 | Durability | 指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作 |