1.并发事务处理带来的问题
- 更新丢失或脏写: 最后的更新覆盖了由其他事务所做的更新
- 脏读: 事务A读到了事务B已经修改但尚未提交的数据
- 不可重复读: 事务A内部的相同查询语句在不同的时刻读出的结果不一致,不符合隔离性
- 幻读: 事务A读到了事务B提交的新增数据,不符合隔离性
2.事务隔离级别
- 读未提交: 脏读,不可重复读, 幻读
- 读已提交: 不可重复读,幻读
- 可重复读: 幻读 (读写锁)
- 可串行化: 没问题(线性执行)
3.MVCC机制
- 概念:多版本并发控制,可以认为是行级锁的一个变种,他可以在很多情况下避免加锁操作,因此开销更低 实现了非阻塞的读操作,写操作也只锁定必要的行
- 实现机制:实现是通过保存数据在某个时间的快照来实现 支持哪些事务隔离级别--读已提交,可重复读