1. 基础的知识我就不概述了!!!
2. 事务中产生的三个问题:脏读,不可重复读,幻读!
3. 事务的四种隔离级别。
4. 重点来了,每个隔离隔离级别是怎么来解决问题的!!
解决幻读问题:在可串行化的隔离级别中通过加锁的方式,实现每个事务之间单独进行操作。但是这个样子做可能会导致大量的超时现象和锁的竞争问题,因此为了提升程序的吞吐量,一般不会使用这个隔离级别。
解决的脏读问题:MVCC原理
解决的不可重复读问题:MVCC原理 + undo log
来了解什么是 MVCC:
MVCCMVCC
,全称 Multi-Version Concurrency Control
,即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。
原理这部分,大家可以看看这位老哥的博客,太好了,写的一目了然:看一遍就懂:MVCC原理详解_java 分享官的博客-CSDN博客_mvcc的原理