笔记
文章平均质量分 96
光看不点赞
这个作者很懒,什么都没留下…
展开
-
MySQL是怎样运行的:从根儿上理解MySQL | 查询优化器(一):单表查询方法、基于成本的优化
概述I/O成本:将数据和索引从磁盘中加载到内存的过程称为IO成本CPU成本:读取以及检测记录是否满足对应的搜索条件、对结果集进行排序等这些操作损耗的时间称之为 CPU 成本。成本常数规定读取一个页面花费的成本默认是 1.0读取以及检测一条记录是否符合搜索条件的成本默认是 0.2。概述单次查询驱动表的成本多次查询被驱动表的成本(具体查询多少次取决于对驱动表查询的结果集中有多少条记录)扇出我们把对驱动表进行查询后得到的记录条数称之为驱动表的 扇出(英文名: fanout )。原创 2022-09-02 12:20:05 · 2435 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL | 锁
文章目录前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结第25章 工作面试老大难-锁1.解决并发事务带来问题的两种基本方式1.1 并发事务访问相同记录的情况的三种情况前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结第25章 工作面试老大难-锁1.解决并发事务带来问题的两种基本方式1.1 并发事务访问相同记录的情况的三种情况...原创 2022-03-30 23:40:07 · 5540 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL | 一条记录的多幅面孔-事务的隔离级别与 MVCC
文章目录前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结第24章 一条记录的多幅面孔-事务的隔离级别与 MVCC1.事前准备2.事务隔离级别2.1 事务并发执行遇到的问题2.2 SQL标准中的四种隔离级别2.3 MySQL中支持的四种事务隔离级别2.3.1 如何设置事务的隔离级别3. MVCC原理3.1 版本链3.1.1 回顾两个必要隐藏列(`trx_id、roll_pointer`)3.1.2 通过更新操作引入版本链3.2 ReadView3.2.1 判断记录某个版本是否可原创 2022-03-28 22:43:03 · 1116 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL | undo日志(下)
文章目录前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结23.后悔了怎么办-undo日志(下)1.通用链表结构2.FIL_PAGE_UNDO_LOG页面3.Undo页面链表3.1 单个事务中的undo页面链表3.2 多个事务中的Undo页面链表前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结23.后悔了怎么办-undo日志(下)1.通用链表结构概述在写入undo日志的时候会使用到多个链表,每个链表都有相同的节点结构如下图:前面说原创 2022-03-26 23:22:41 · 1884 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL | undo日志(上)
文章目录前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结22.后悔了怎么办-undo日志(上)22.1 事务回滚的需求前言:本博文是对MySQL是怎样运行的:从根儿上理解MySQL这本书的归纳和总结22.后悔了怎么办-undo日志(上)22.1 事务回滚的需求概述事务是需要保证原子性的,也就是要么成功要么失败没有中间态,所以出现中途失败没有保证原子性的情况比如:事务执行过程中可能遇到各种错误,比如服务器本身的错误,操作系统错误,甚至是突然断电导致的错误。原创 2022-03-23 22:13:11 · 1744 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL | redo日志(下)
21.redo日志(下)1.redo日志文件1.1 redo日志刷盘时机概述前面说过redo日志以mtr的形式存放在pool中,但这些数据不能一直待在内存里面啊,我们需要把这些数据持久化到磁盘中去,以下几种情况会引发持久化即刷新log buffer 空间不足时前面说到log buffer的容量是16MB,很快就会被填满,所以mysql规定当redo日志所占的大小超过了pool的一半左右时,就需要把这些日志刷新到磁盘上事务提交时我们前边说过之所以使用 redo日志主要是因原创 2022-03-21 22:17:43 · 1309 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL | redo日志(上)
20.redo日志(上)1.redo日志是个啥1.1 回忆回忆前情回顾前面我们又说到,存储引擎修改数据的基本单位是以页来完成的,所以我们进行增删改查时就是在对页面进行读、写、创建页面。学习完缓冲池以后我们知道进行这些操作的时候需要把磁盘页缓存到缓冲池才可以,这时问题出现了,我们各式各样的一通操作过后只是修改了缓存页的信息啊,信息始终没有做到百分百持久化,如果突然出现断电或者服务器故障又或者是提交错误直接崩溃等。那么我们应该怎么做这个持久化呢,最简单粗暴的方法就是完成任务之前把该事务所修改的页面原创 2022-03-20 22:09:37 · 2214 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL|MySql事务简介
19.从猫爷被杀说起-事务简介1.事务的起源这里书中讲述的十分生动有趣,大家可自行下载pdf查阅理解;总结来说所谓事务就是:让某些数据库操作符合现实世界中状态转换的规则1.1 原子性(Atomicity)概述现实世界中转账操作是一个不可分割的操作,也就是说要么压根儿就没转,要么转账成功,不能存在中间的状态,也就是转了一半的这种情况。设计数据库的大叔们把这种要么全做,要么全不做的规则称之为 原子性,但麻烦就麻烦在现实生活中一步的操作要在数据库分为好几步来实现,其中一环断开则会引发意想不到的原创 2022-03-17 22:36:38 · 2960 阅读 · 0 评论 -
MySQL是怎样运行的:从根儿上理解MySQL|调节磁盘和CPU的矛盾-InnoDB的Buffer Pool
18.调节磁盘和CPU的矛盾-InnoDB的Buffer Pool1.缓存的重要性概述InnoDB 存储引擎在处理客户端的请求时,当需要访问某个页的数据时,就会把完整的页的数据全部加载到内存中,也就是说即使我们只需要访问一个页的一条记录,那也需要先把整个页的数据加载到内存中。将整个页加载到内存中后就可以进行读写访问了,在进行完读写访问之后并不着急把该页对应的内存空间释放掉,而是将其 缓存 起来,这样将来有请求再次访问该页面时,就可以省去磁盘 IO 的开销了。...原创 2022-03-15 22:57:37 · 2263 阅读 · 5 评论 -
SpringCloud|SpringCloudAlibaba学习|总结自尚硅谷|(半成品)希望大佬指正
微服务架构概述每个服务运行在独立的进程,服务与服务之间采用轻量级的通信机制进行交互(通常是基于HTTP协议的RESTful API),都能被独立的部署到生产环境中,对具体的生产环境及要求采用不同的语言或开发工具进行构建......原创 2021-10-22 21:45:47 · 821 阅读 · 0 评论 -
Java虚拟机|JVM知识点汇总及简述->StringTable篇(总结自尚硅谷JVM课程)
文章目录StringTable一、String的基本特性1.String的概述二、String的内存分配三、String的基本操作1.验证字符串常量池中不能重复加载相同字符2.同理验证指向位置即常量池的位置变化四、字符串拼接操作1.操作概述及注意事项五、intern()的使用1.使用2.相关面试题3.总结StringTable一、String的基本特性1.String的概述String声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了C原创 2021-09-23 21:11:00 · 109 阅读 · 0 评论 -
Java虚拟机|JVM知识点汇总及简述->运行时数据区(创建对象内部各种结构的配合、运行时数据区面试题)、执行引擎篇(总结自尚硅谷JVM课程)
文章目录六、创建对象内部各种结构的配合1.对象实例化的几种方式及创建对象步骤说明1.1 判断对象对应的类是否加载、链接、初始化1.2 为对象分配内存1.3 设置对象的对象头1.4 执行init方法进行初始化(init方法就是我们所说的构造器、显式赋值)2.对象的内存布局2.1 举例代码及图示说明3.对象访问定位3.1 句柄访问图示3.2 直接访问图示(HotSpot采用)4.直接内存4.1 用法4.2 内存溢出和内存设置5.成员变量(非静态)赋值过程6.关于面试七、关于运行时数据区的面试题执行引擎一、执行引原创 2021-09-16 18:44:13 · 127 阅读 · 0 评论 -
SSM案例整合(idea版-详细步骤|尚硅谷雷丰阳|内附源码)
SSM前言:Spring和SpringMVC整合注意事项避免容器重复创建在各自的XML文件中只搜寻属于自己分工的注解创建容器spring.xml: <context:component-scan base-package="com.atguigu"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <contex原创 2021-06-06 22:38:48 · 1018 阅读 · 0 评论 -
JavaWeb学习路线(总结自尚硅谷雷神SSM|极其详细|思路清晰|适合入门/总复习)
JavaWeb前言该篇总结只会对每个技术点知识点做最宽泛的总结,想要熟练掌握还需自己用功学习说明Java web中最核心的思想就是b\s的交互,即浏览器与服务器的交互前端技术htmlhtml称为超文本标记语言重要标签<>### 监听器、过滤器......原创 2021-06-03 18:54:13 · 9201 阅读 · 3 评论