事务有哪些特性

困难只是暂时的,放弃才是永久的。
—— 罗伯特·舒勒

事务是数据库操作的基本逻辑单元,具有ACID四大特性,确保数据的一致性和可靠性。

特性 描述 实现机制示例
Atomicity (原子性) 事务是不可分割的最小单元,要么全部成功,要么全部失败回滚。 InnoDB 的 undo log(回滚日志)记录修改前的数据,失败时通过日志回滚操作。
Consistency (一致性) 事务执行前后,数据库从一个一致状态变为另一个一致状态(业务规则约束)。 通过原子性、隔离性、持久性共同保证(例如:转账前后总金额不变)。
Isolation (隔离性) 并发事务之间互不干扰,避免数据混乱。 通过锁机制(如行锁、表锁)或 MVCC(多版本并发控制)实现不同隔离级别。
Durability (持久性) 事务提交后,修改永久生效,即使系统崩溃也不丢失。 redo log(重做日志)记录修改后的数据,崩溃恢复时重放日志恢复数据。

事务是由MySQL的引擎来实现的,我们常见的InnoDB引擎它是支持事务的。

并不是所有的引擎都能支持事务,比如MySQL原声的MyISAM引擎就不支持事务,也正是这样,所以大多数MySQL的引擎都是用InnoDB。

posted @ 2025-04-04 12:53  Tsukinor  阅读(27)  评论(0)    收藏  举报