Buffer Pool中是如何管理Page页

Page页分类:在BP的底层采用的是链表数据结构管理Page。Page根据状态可以分为3中类型

1)free Page:空闲Page,未被使用的Page。

2)clean Page:被使用的Page,但是数据没有修改过。

3)dirty Page:脏页,被使用过的Page,并且数据被修改了,缓存页中的数据与磁盘的数据不一致的。

上面说的三种Page类型,InnoDB采用三种链表结构进行维护和管理。

1)free list :表示空闲缓冲区,管理free Page

2)flush list:表示的是需要刷新到磁盘的缓冲区,管理dirty page,内部page是按照修改时间排序。

3)lru ist :表示正在使用的缓冲区,管理cean page和dity pae,该缓冲区以 midpoint 为基点,前面的链表称为new 列表区,存放经常被访问的数据,占63%,后面

的链表称为old列表区,存放的是使用较少的数据占37%。

注意:脏页在fush链表和LRU链表中都存在,但是两者互不影响,LRU链表负责管理page的可用性和释放,而fush list负责管理脏页的刷盘操作

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值