ACID
- Atomicity 原子性
某个操作,要么全都执行完毕,要么全都回滚。
- Consistency 一致性
数据库中的数据全都符合现实世界中的约束,则这些数据就符合一致性。比如性别约束男or女;人民币面值不能为负数;出生地址不能为null;等等
- Isolation 隔离性
多个事务访问相同数据时,对该数据不同状态的转换对应的数据库操作的执行顺序有一定的规律,彼此不干涉。
- Durability 持久性
现实中的状态转换映射到数据库中,意味着对数据所做的修改都应该在磁盘中保存。
事务的状态
事务并发执行时数据一致性问题
- 脏写
一个事务对某条数据进行写操作时,另一个事务也能对其进行写操作。
- 脏读
一个事务读取到另一个未提交事务修改过的数据,违背了A-原子性,C-一致性,I-隔离性,只满足了D-持久性
- 不可重复读
一个事务修改了另一个未提交事务读取的数据
- 幻读
事务A先根据某些搜索条件查询出了一些记录,在事务A未提交时,事务B写入(insert、update、delete)了符合上述搜索条件的记录,此时在事务A中可以查到这个记录。
事务隔离级别
注:由于无论哪种隔离级别,都不允许脏写的情况发生。
**************此文章只是本人学习过程中的学习笔记,不做其他用途,如果有其他意见,欢迎一起讨论,谢谢,侵删*************************