mysql的三种模式(详解 MySQL的FreeList机制)
mysql的三种模式
详解 MySQL的FreeList机制一、前言
MySQL启动后,BufferPool就会被初始化,在你没有执行任何查询操作之前,BufferPool中的缓存页都是一块块空的内存,未被使用过也没有任何数据保存在里面。
而且你也知道了通过缓冲页的描述信息可以直接且唯一的找到它所指向的缓存页。
那你有没有想过,我们从磁盘里面读取出来的 数据页 应该放到那个缓冲页中去呢?
这个问题就引出了Free List。
二、Free List
其实Free List是Buffer Pool中基于缓存页描述信息 组织起来的双向链表。换言之,Free List中的每一个结点都是缓存页对应的描述信息。并且通过描述信息可以找到指定的缓存页(缓存页)
InnoDB设计Free List的初衷就是为了解决上面说的问题。
如果这个缓存页中没有存储任何数据,那么它对应的描述信息就会被维护进Free List中。这时当你想把从磁盘中读取出一个数据页放入缓存页中的话,就得先从Free List中找一个节点(Free List中的所有节点都会指向一个从未被使用过的缓存页),那接着就可以把你读取出来的这个数据页放入到该节点指向的缓存页中。
相应的:当数据页中被放入数据之后。它对应的描述信息块会被从Free List中移出。
三、如何判断数据页有没有在缓存中?
你会不会纳闷MySQL怎么知道刚读取出来的这个数据页有没有在缓存页中呢?
这个功能的实现依托于另一个数据结构:hash table
key = 表空间号+数据页号
value = 缓存页地址
如果存在于hash table中,那就说明该数据页已经存在于Buffer Pool中了,优先使用Buffer Pool中的缓存页。相信你肯定能想到为啥优先使用Buffer Pool中的缓存页吧!首先免去了磁盘的随机IO,其次缓存页中的数据可能是已经被修改了的脏数据。
以上就是详解 MySQL的FreeList机制的详细内容,更多关于MySQL FreeList机制的资料请关注开心学习网其它相关文章!
原文链接:https://www.cnblogs.com/ZhuChangwu/p/13992493.html
- idea怎样连接mysql(IDEA配置连接MYSQL数据库遇到Failed这个问题解决)
- 设置mysql字符集语句(MySQL修改字符集的实战教程)
- mysql实用教程(Mysql调优Explain工具详解及实战演练推荐)
- MySQL定时任务(EVENT事件)如何配置详解(MySQL定时任务EVENT事件如何配置详解)
- mysql5.7.36详细安装(CenOS6.7下mysql 8.0.22 安装配置方法图文教程)
- mysql突然报错206无法连接(详解MySQL连接挂死的原因)
- php redis应用场景(PHP商品秒杀问题解决方案实例详解mysql与redis)
- mysql主从配置教程(MySQL大库搭建主从的一种思路分享)
- mysql定期备份(Mysql5.7定时备份的实现)
- mysql创建数据库基本指令(MySql 新建用户与数据库的实际操作步骤)
- MYSQL字符集设置的方法详解(终端的字符集)(MYSQL字符集设置的方法详解终端的字符集)
- mysql分库分表视图(MySQL分库分表与分区的入门指南)
- 如何用wampserver打开自己写的php(WampServer下安装多个版本的PHP、mysql、apache图文教程)
- mysql自增主键创建过程(深入谈谈MySQL中的自增主键)
- mysql5.7详细安装教程(MySQL5.7.33安装过程图文详解)
- 将mysql中的表导出来(MySQL之导出整个及单个表数据的操作)
- 古人十句 戒骄 名言,醍醐灌顶,受益匪浅(古人十句戒骄名言)
- 《道德经》:功成不局,泰而不骄(道德经:功成不局)
- 每日一典 过江之鲫(每日一典过江之鲫)
- 红色代表什么(红色代表什么意义和象征)
- 菲律宾安全吗(菲律宾安全吗2023)
- 彩礼重要吗()
热门推荐
- mysql拆分字符串(MySQL 字符串拆分操作含分隔符的字符串截取)
- 怎么新建数据库登录名用sql语句(T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法)
- SQL Server 数据库自动备份
- 怎么把网站放进云服务器(云服务器可以放几个网站?)
- 小鸟云服务器怎么买(小鸟云服务器忘记密码怎么办?小鸟云密码找回图文教程)
- htaccess重定向详解设置(htaccess 将所有请求重定向到某个URL地址的规则)
- dedecms快速建站(Dedecms 生成静态页面速度优化方法)
- python中怎么实现登录程序(详解Python用户登录接口的方法)
- 阿里云无法远程连接服务器(解决阿里云ssh远程连接短时间就会断掉的问题)
- sqlserver 比较日期(解析SQL Server中SQL日期转换出错的原因)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9