事务特性,ACID,原子性、一致性、隔离性、持久性 1、事务的隔离性由锁实现 2、redo log(重做日志) 用来保证事务的原子性和持久性 3、undo log(回滚日志)用来保证事务的一致性 用来帮助事务回滚以及mvcc的功能,mvcc的实现是通过undo日志实现的 当用户读取一行时,若该记录已 ...
分类:
其他好文 时间:
2020-05-17 19:04:34
阅读次数:
55
多版本并发控制(Multi-Version Concurrency Control)是MySQL的InnoDB引擎实现隔离级别的一种具体方式。 它可以实现提交读和可重复读两种级别的隔离。 未提交读太简单,不需要用MVCC,可串行化太难,只用MVCC解决不了。 MVCC的基本思想: 在读写锁中,读和读 ...
分类:
数据库 时间:
2020-05-14 01:17:48
阅读次数:
70
前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要 什么是M ...
分类:
Web程序 时间:
2020-05-11 00:49:30
阅读次数:
65
前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要 什么是M ...
分类:
Web程序 时间:
2020-05-11 00:48:02
阅读次数:
78
网上写MySQL架构的文章比较多,写InnoDB架构的文章比较少,今天简单说说InnoDB架构。 画外音:一分钟,一幅图,秒懂。 作者:58沈剑 MySQL简要架构是怎么样的? MySQL整体分为三层: (1)客户端,是各种编程语言的connector; (2)MySQL服务,内部包含各种组件,实现 ...
分类:
数据库 时间:
2020-05-10 12:39:41
阅读次数:
76
第一轮 说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点? 讲讲jdk1.7和1.8的区别? 几种内置的线程池 MySQL事务隔离级别以及MVCC机制 Redis缓存雪崩、缓存穿透以及如何解决? 分布式架构简单介绍 CMS收集器和G ...
分类:
编程语言 时间:
2020-05-06 14:13:15
阅读次数:
102
Springboot登录拦截器 和 swagger框架接口自动生成html文档 使用开发工具:IDEA 实现步骤如下 1.需导入的依赖如下: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifa ...
分类:
编程语言 时间:
2020-05-02 00:13:36
阅读次数:
70
一、undo log版本链 我们在执行update,insert,delete的时候会生成undo log日志,以防止回滚使用。 一条sql执行,会生成一条undo log日志: 其中trx_id就是执行这条sql的事务id,roll_pointer指向对同一个值修改的undo log日志,因为当前 ...
分类:
数据库 时间:
2020-04-20 01:06:38
阅读次数:
110
本文节选自:MySQL中MVCC的正确打开方式(源码佐证),强力推荐这篇博客 1、MVCC概念 多版本控制(Multiversion Concurrency Control): 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相 ...
分类:
数据库 时间:
2020-04-19 12:40:41
阅读次数:
121
什么是MVVC MVVC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)是一种基于多版本的并发控制协议,只有在InnoDB引擎下存在。MVCC是为了实现事务的隔离性,通 ...
分类:
数据库 时间:
2020-04-16 13:36:07
阅读次数:
84