事务的四大特性有哪些?

3 分钟阅读 312 字 + 323 词
参考答案:
事务的四大特性通常被称为 ACID 特性
  1. 原子性 确保事务的所有操作要么全部执行成功,要么全部失败回滚,不存在部分成功的情况。
    == 原子性 是通过 undo log(回滚日志) ==来保证的;
  2. 一致性 事务在执行前后,数据库从一个一致性状态转变到另一个一致性状态,必须满足数据约束条件,不会出现矛盾的结果。
    一致性则是通过 持久性+原子性+隔离性 来保证;
  3. 隔离性 多个事务并发执行时,每个事务都应该被隔离开来,一个事务的执行不应该影响其他事务的执行。
    == 隔离性 是通过 MVCC(多版本并发控制) 锁机制 ==来保证的;
    并且mysql Innodb引擎中的 可重复读很大程度上解决了幻读问题(mvcc和间隙锁) ,所以我 认为mysql的可重复读和串行化 才是满足了这里隔离性的要求的。
  4. 持久性 一旦事务被提交,它对数据库的改变就是永久性的 ,即使在系统故障或崩溃后也能够保持。
    == 持久性 是通过 redo log (重做日志) ==来保证的;