事务的基本概念
事务指的是一个操作序列,序列内的操作要么都成功,要么都不成功。
事务四大特性ACID
- 原子性 一个事务内的所有操作,要么全部完成,要么全部不完成。
- 一致性 事务执行前后数据库的完整性约束没有被破坏,不破坏关系数据的完整性以及业务逻辑的一致性。
- 隔离性 多个事务并发访问时,事务之间是独立的,不互相影响。
- 持久性 事务一旦执行完成,对数据库所做的更改就持久保存在数据库之中,不会回滚。
事务之间的相互影响
- 脏读 一个事务读取另外一个事务未提交数据,这个数据是有可能回滚的。
- 不可重复读 事务内的两个相同查询却返回不同数据,这是因为其他事务在此期间对数据进行更改并提交。
- 幻读 与不可重复读类似,但是主要针对插入操作。一个事务对表中所有数据进行了修改,同时另外一个事务在这个表中插入一个新的数据。这样对于第一个事务就仿佛出现幻觉。
- 丢失更新 两个事务同时读取同一记录,A先修改,B也修改然后提交,但是B提交结果覆盖A的
事务之间的隔离级别
事务之间的隔离是通过锁来实现的,通过阻塞来阻止事务之间的影响。
未提