innodb存储引擎之内存

1、innoDB存储引擎体系架构

如上图所示,innoDB存储是基于磁盘存储的,并且其中的记录以页的方式进行管理,但为什么要引入一个内存池呢?

其目的就是为了协调CUP速度与磁盘速度的鸿沟,基于磁盘的数据库系统通常使用缓冲池技术来提高数据库的整体性能(简单来说就是通过内存的速度来弥补磁盘速度较慢对数据库性能的影响)

2、内存池的管理

既然内存池能提高数据库的整体性能,那么innoDB是怎么对这块内存区域进行管理的呢?这里就要介绍两种算法

2.1、LUR(最近最少使用)算法

先来说查询情况,上图就是一个LUR列表,上图的LUR链表氛围new(热点)区和old(淘汰)区,其余的还有free(空闲)区等,new和old之间的位置称为midpoint,当查询进来的时候,先冲LUR列表中寻找页是否存在

参考资料:https://blog.51cto.com/14227759/2384690?source=dra

未完待续 。。。

猜你喜欢

转载自www.cnblogs.com/zhp-king/p/11073805.html