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