2024-11-09
版权声明:本文为博主付费文章,严禁任何形式的转载和摘抄,维权必究。 本文链接:https://www.skjava.com/mianshi/baodian/detail/1692423822

回答

事务是指一组数据库操作作为一个逻辑上的整体,要么全部执行成功,要么全部不执行

ACID 特性

MySQL 事务保证了数据库操作的可靠性和数据的一致性。MySQL 的事务模型具有四个特性,即 ACID:

  • 原子性(Atomicity),指事务是最小的执行单元,不允许分割。事务的原子性确保其要么全部完成,要么全部失败。
  • 一致性(Consistency),指执行事务前后,数据满足完整性约束,数据库保持一致性状态。
  • 隔离性(Isolation),指多个事务并发执行时,它们互相是隔离的。由于执行顺序的不同,可能出现“脏读”、“不可重复读”、“幻读”的问题,为了解决这些问题,引入了“隔离级别”的概念。
  • 持久性(Durability),指事务一旦提交,其结果就是永久性的。即使服务器宕机,数据也能恢复。

当保证了事务的原子性、隔离性和持久性,事务的一致性才能得到保障。也就是说 A、I、D 是手段,C 是目的。

隔离级别

数据库事务隔离级别的原则是并发环境下隔离得越严实,效率就越低。SQL 标准的事务隔离级别: