MySQL之BufferPool

news2025/7/8 14:16:34

文章目录

  • 前言
  • 一、BufferPool是什么
  • 二、BufferPool的组成
    • 2.1 结构图
    • 2.2 如何读取缓冲页
  • 三、BufferPool在MySQL中的作用


前言

本文会讲述BufferPool是什么,BufferPool的组成,在mysql中的作用


一、BufferPool是什么

在mysql中是用来缓存磁盘中的页,SQL操作就是操作页里面的数据,它是一块连续的内存空间,默认128M,最低5M。
可通过 innodb_buffer_pool_size = 134217728 配置,单位是byte(字节)

二、BufferPool的组成

2.1 结构图

bufferPool结构

控制块: 与缓冲页一一对应,包含free链表的pre和next指针。
缓冲页: 默认大小为16KB。缓冲页有三种状态读取数据:未使用,使用了但是干净的,使用了并且是脏页。会先将数据保存到缓冲页中。(free链表维护未使用的页,LRU链表维护使用页,flus 链表维护脏页,三者结构差不太多)
碎片:不足够分配控制块和缓冲页的空间,称为碎片。如果BufferPool大小设置得刚刚好,可能就不会产生碎片

2.2 如何读取缓冲页

在读取数据时先通过,通过哈希表,读取控制块的位置。然后通过控制块获取缓冲页位置。其中key为表空号 + 页号,value为控制块。
如果没有获取到控制块,则从free链表中选取一个空闲的缓冲页,将磁盘中对应的页加载到缓冲页中。

三、BufferPool在MySQL中的作用

用户访问表数据时,InnoDB会将表的页数据加载到内存中(buffer pool),相对于在磁盘中操作表,在内存中(buffer pool)操作显然快得多,节省磁盘I/O开销


参考资料: 《MySQL是怎样运行的》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

央企招聘:中储粮集团2023公开招聘公告(校招+社招,共700人)

中国储备粮管理集团有限公司2023年度招聘包括校园招聘和社会招聘,计划招募优秀人才700余人。 中国储备粮管理集团有限公司是经国务院批准组建的涉及国家安全和国民经济命脉的国有大型重要骨干企业,受国务院委托具体负责中央储备粮油棉的经营管理&#xf…

SSM毕设项目 - 基于SSM的房屋出租出售系统(含源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.2.1 系统开发流程3.2.2 操作流程3.3 系统结构设计4 项目获取1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品…

【学习笔记31】JavaScript冒泡排序和选择排序

笔记首发 一、冒泡排序 (一)核心原理 循环遍历数组,当前单元和下一个单元进行数据比较按照从小到大排序,应该是当前单元小于下一个单元,如果当前单元大于下一个单元,将交换两个单元存储的数据一次循环结束…

44、Map

一、基本介绍: 1、Map接口实现类的特点[很实用] 注意:这里讲的是JDK8的Map接口特点 1)Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value 2)Map 中的 key和value 可以是任何引…

5个超好用的视频素材网站,视频剪辑必备。

推荐五个高质量视频素材网站,免费、可商用,赶紧收藏起来!1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx网站素材非常丰富,有平面、UI、电商、办公、视频、音频等相关素材,视频素材质量很高,…

SpringBoot2.x系列教程31--SpringBoot中的缓存实现方案介绍

前言 作为一个程序员,我们不仅仅要把项目的功能实现出来,还要追求这个功能的高效和健壮,我们得想办法对项目的功能进行各种优化和性能的提升。其中缓存就是对程序性能进行显著提升的一个有效手段,那么在SpringBoot中对缓存有哪些…

我的数学学习回忆录——一个数学爱好者的反思(一)

早点关注我,精彩不迷路!我是一个热爱数学20余年的数学爱好者,曾奉数学为宇宙的真理和一切行动的指南的极客。从小对数字世界好奇和敏感,玩各种数学思维游戏,然后在高考应试和竞赛中扎实训练数学基础,逐渐把…

[附源码]java毕业设计中华美食网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

docker安装filebeat 进行日志收集

1.介绍 filebeat和beats的关系 首先filebeat是Beats中的一员。   Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash&#x…

matlab学习笔记(五)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 matlab学习笔记(五)一、绘制下列连续时间信号的波形图二、绘制下列离散时间信号的波形图三.已知信号f(t)的波形如下图所示,请用MATLAB绘出…

ES filter查询 高亮查询 聚合查询

filter查询 query,根据你的查询条件,去计算文档的匹配度得到一个分数,并且根据分数进行排序,不会做缓存的。 filter,根据你的查询条件去查询文档,不去计算分数,而且filter会对经常被过滤的数据进…

C++中的多态(上)

🧸🧸🧸各位大佬大家好,我是猪皮兄弟🧸🧸🧸 文章目录一、多态的概念二、虚函数三、破坏多态条件的现象1.破坏多态条件一,虚函数重写/覆盖2.破坏多态条件二四、 多态的两个条件不满足…

数据库审核工具SQLE部署及使用

点击上方蓝字关注我SQLE( https://opensource.actionsky.com/sqle/ )是由上海爱可生信息技术股份有限公司 开发并开源,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。我们…

PC_磁盘HDD_SSD

文章目录磁盘存储器组成磁盘驱动器磁盘控制器盘片platter存储区域磁盘结构磁道track扇区sector🎈/块Block🎆磁头(Head)圆柱面cylinder磁记录原理磁盘性能指标记录密度磁盘的容量非格式化容量格式化容量数据传输率磁盘转速旋转周期T例平均存取时间纯读/写…

网络与通信程序设计-基于UDP的广播通信实例

目录 实验内容和设计思想 实验的内容 UDP的设计思想 UDP的协议头部 UDP通信编程思想 UDP的工作流程 UDP编程收发函数 广播通信 广播模式设置 广播套接字 UDP Socket的使用过程 UDP广播通信实例实现 initsock.h 服务器发送广播消息 客户端接收广播消息 运行效果 …

HttpMessageConverter 消息转换器

HttpMessageConverter 简介 HttpMessageConverter 是SpringMVC中提供的一个策略接口,它是一个消息转换器类,Spring Mvc中就是由HttpMessageConverter负责转换HTTP的请求和响应。 默认情况下,Spring Boot 会自动加载如下消息类型转换器&…

spring复习01,IOC的思想和第一个spring程序helloWorld

spring复习01,IOC的思想及本质IOC的思想一个小例子,来体会IOC的基础思想。dao层dao层接口dao层实现类service层service层接口service层实现类测试代码service层实现类修改测试代码修改IOC容器在spring中的简单实现创建项目在pom.xml中引入依赖实体类创建…

C# 拨号面板 高亮显示

一 拨号面板 显示:绘制4x3; 数据:每一格对应一个数字; 行为:点击单元格时有反应; 二 拨号事件 当点击某个号码时,触发拨号事件。 设计思路: ① 重写OnMouseClick(); ② 根据鼠标点击位置&am…

JVET-AB0117-基于模板的帧内推导的方向性融合

本提案是针对 ECM 中的 TIMD(基于模板的帧内模式推导,Template based intra mode derivation ) 的技术的加权方式的改进。具体地,本提案提出使用方向混合(directional blending)来加权TIMD使用模板推导的两…

SpringBoot SpringBoot 原理篇 1 自动配置 1.13 bean 依赖属性配置

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.13 bean 依赖属性配置1.13.1 环境准备1.13.2 bean 依赖属性配置1…