回答
事务是指一组数据库操作作为一个逻辑上的整体,要么全部执行成功,要么全部不执行。
ACID 特性
MySQL 事务保证了数据库操作的可靠性和数据的一致性。MySQL 的事务模型具有四个特性,即 ACID:
- 原子性(Atomicity),指事务是最小的执行单元,不允许分割。事务的原子性确保其要么全部完成,要么全部失败。
- 一致性(Consistency),指执行事务前后,数据满足完整性约束,数据库保持一致性状态。
- 隔离性(Isolation),指多个事务并发执行时,它们互相是隔离的。由于执行顺序的不同,可能出现“脏读”、“不可重复读”、“幻读”的问题,为了解决这些问题,引入了“隔离级别”的概念。
- 持久性(Durability),指事务一旦提交,其结果就是永久性的。即使服务器宕机,数据也能恢复。
当保证了事务的原子性、隔离性和持久性,事务的一致性才能得到保障。也就是说 A、I、D 是手段,C 是目的。
隔离级别
数据库事务隔离级别的原则是并发环境下隔离得越严实,效率就越低。SQL 标准的事务隔离级别: