前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL进阶突击系列(08)浅谈BufferPool核心原理 | 少不得LRU、Flush、Free三条链表

MySQL进阶突击系列(08)浅谈BufferPool核心原理 | 少不得LRU、Flush、Free三条链表

作者头像
拉丁解牛说技术
修改2025-02-08 13:35:11
修改2025-02-08 13:35:11
1220
举报
概述
通过前面7篇系列文章,我们已经初步了解MySQL整体架构、三大日志法宝、事务隔离级别、锁、mvcc机制、索引优化等相关领域,然而鲜有人知但非常重要的bufferpool同样值得深入探讨学习。InnoDB高效的读写表现,bufferpool提供内存级别的读写管理能力,功不可没。本文通过bufferpool的free链表、flush链表、lru链表来详细分析缓存池数据页加载、淘汰、刷盘等多个核心机制。
文章被收录于专栏:MySQL突击进阶MySQL突击进阶

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言背景
  • 二、bufferpool是什么?
    • 2.1 数据在bufferpool 是如何存取的?一行一行数据来加载的吗?
    • 2.2 怎么知道数据页是否在缓存池?
  • 三、bufferpool如何管理这些数据页?
    • 3.1 free链表-可用数据页
    • 3.2 flush链表-脏数据页
    • 3.3 free链表可用数据页不足,如何淘汰缓存页?
    • 3.4 改进型LRU链表-淘汰数据页
      • 3.4.1 InnoDB的预读机制
      • 3.4.2 传统LRU链表
      • 3.4.3 改进型LRU链表-1分为2冷热分离设计
    • 3.5 缓存数据页刷盘机制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档