美文网首页
InnoDB LRU

InnoDB LRU

作者: LoveEachDay | 来源:发表于2019-05-12 21:14 被阅读0次

InnoDB将LRU链表分为两个部分,也就是所谓的`old区` 和 `young区`。

`young区`在链表的头部,存放经常被访问的数据页,可以理解为热数据

`old区`在链表的尾部,存放不经常被访问的数据页,可以理解为冷数据

这两个部分的交汇处称为`midpoint`, 怎么知道两个区的比例呢?

```

show variables like 'innodb_old_blocks_pct';

```

InnoDB LRU 链表

数据何时在old区,何时进入young 区?

数据页第一次被加载进Buffer Pool时在`old区`的头部。当这个数据页在`old区`,再次被访问到,会做如下的判断:

如果这个数据页在LRU链表中的`old区` 存在的时间超过了1秒,就把它移动到`young区`。

这个存在时间由`innodb_old_blocks_time`控制。

相关文章

  • InnoDB LRU

    InnoDB将LRU链表分为两个部分,也就是所谓的`old区` 和 `young区`。 `young区`在链表的头...

  • MySQL-Innodb-刷脏的具体执行

    参数 innodb_lru_scan_depth调用栈批量刷脏会从lru和flush list中flush。inn...

  • MySQL-Innodb-LRU

    参数状态 made young表示old页移动到LRU头部,not young表示的是访问的old区的页,但是访问...

  • INNODB缓冲池LRU算法

    LRU(least recently used ,即最近最少使用)算法是数据库中缓冲池的管理算法,将数据库的缓冲...

  • 字节跳动后端面经七

    MySQL慢查询如何优化? InnDB存储引擎默认隔离级别,如何实现? InnoDb针对数据库缓冲池管理使用LRU...

  • InnoDB buffer pool之LRU算法【Mysql I

    下面的图片展现了组成InnoDB存储引擎的内存结构和磁盘结构。 InnoDB内存结构 Buffer Pool缓冲池...

  • MySQL-Innodb-buf_LRU_get_free_bl

    调用栈 LRU中的flush会从flush list中remove掉,相反flush list的flush不会从l...

  • LRU-K和2Q缓存算法介绍

    一、LRU-K算法 1、算法思想 LRU-K中的K代表最近使用的次数,因此LRU可以认为是LRU-1。LRU-K的...

  • Algorithm进阶计划 -- LRU 与 LFU 算法

    LRU 与 LFU 算法LRU 算法LFU 算法 1. LRU 算法 LRU 算法是一种缓存淘汰策略,是 Leas...

  • LRU Cache理解

    LRU Cache 1. 概念解析,LRU Cache算法 Lru Cache算法就是Least Recently...

网友评论

      本文标题:InnoDB LRU

      本文链接:https://www.haomeiwen.com/subject/vxyhaqtx.html