参考文章
参考文章
特性:
ACID: 原子性,一致性,隔离性(4种隔离级别),持久性
隔离级别:
不同事务之间的隔离程度称为隔离级别,主要有以下四种。
AB两个事务
- 读未提交: B事务可以读到A事务没有提交的数据
- 读已提交: B事务只能读到A事务已经提交的数据
- 可重复读: B事务只能读到A事务已经提交的数据,但是同一行的数据读取到的值是不会改变的。比如id为1的字段name值有jack改成了jams,A改了,且已经提交了,但是B读取到的还是jack。但是当A新增一行的时候,B是可以读到新增这一行的,所以会出现幻读的问题。
- 串行化: 当A事务在对Person表进行操作操作的时候,B事务不能进行添加、更新删除操作,但是可以读取。
级别从低到高,越高说明安全性越强,但是并发能力越弱。
数据库事务可能并发的问题:
- 脏读
- 不可重复读
- 幻读
隔离级别解决并发的能力
总结:
四种不同的隔离级别,对应的是一个事务与另一个事务之间的隔离。
根据不同级别,当在操作同一个表的时候,查询出来的数据问题。
如当是串行化的时候,A事务开始之后,查询person表,那么B事务中有关person表的del、update、insert操作都不能干,要确保A事务不会出现脏读、不可重复读、幻读等问题出现。