事务有哪些特性
困难只是暂时的,放弃才是永久的。
—— 罗伯特·舒勒
事务是数据库操作的基本逻辑单元,具有ACID四大特性,确保数据的一致性和可靠性。
| 特性 | 描述 | 实现机制示例 |
|---|---|---|
| Atomicity (原子性) | 事务是不可分割的最小单元,要么全部成功,要么全部失败回滚。 | InnoDB 的 undo log(回滚日志)记录修改前的数据,失败时通过日志回滚操作。 |
| Consistency (一致性) | 事务执行前后,数据库从一个一致状态变为另一个一致状态(业务规则约束)。 | 通过原子性、隔离性、持久性共同保证(例如:转账前后总金额不变)。 |
| Isolation (隔离性) | 并发事务之间互不干扰,避免数据混乱。 | 通过锁机制(如行锁、表锁)或 MVCC(多版本并发控制)实现不同隔离级别。 |
| Durability (持久性) | 事务提交后,修改永久生效,即使系统崩溃也不丢失。 | redo log(重做日志)记录修改后的数据,崩溃恢复时重放日志恢复数据。 |
事务是由MySQL的引擎来实现的,我们常见的InnoDB引擎它是支持事务的。
并不是所有的引擎都能支持事务,比如MySQL原声的MyISAM引擎就不支持事务,也正是这样,所以大多数MySQL的引擎都是用InnoDB。

浙公网安备 33010602011771号