全网最全一篇数据库MVCC详解,不全你打我,最新Java高级面试题汇

一、前言

最近公司项目准备开始重构,框架选定为 Spring Boot ,本篇主要记录了在 IDEA 中搭建 Spring Boot Maven 多模块项目的过程。
这篇文章可以说是完全的一篇实战项目干货,感兴趣的朋友们可以继续看下去

快照读的实现是基于多版本并发控制,即MVCC,既然是多版本,那么快照读读到的数据不一定是当前最新的数据,有可能是之前历史版本的数据。

如下操作是快照读:

  • 不加锁的select操作(注:事务级别不是串行化)

快照读与mvcc的关系

===========

MVCCC是“维持一个数据的多个版本,使读写操作没有冲突”的一个抽象概念。

这个概念需要具体功能去实现,这个具体实现就是快照读。(具体实现下面讲)

听完贴心老哥的讲解,是不是瞬间茅塞顿开。

全网最全一篇数据库MVCC详解,不全你打我,最新Java高级面试题汇_第1张图片

数据库并发场景

=======

  • 读-读:不存在任何问题,也不需要并发控制

  • 读-写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读,幻读,不可重复读

  • 写-写:有线程安全问题

你可能感兴趣的:(Java,经验分享,开发语言,面试)