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负责管理脏页的刷盘操作