其他分享
首页 > 其他分享> > InnoDB存储引擎

InnoDB存储引擎

作者:互联网

1:概览

InnoDB存储引擎主要包含后台线程和内存池,内存池的主要又是缓冲池。

此处应该有图

2:后台线程

2.1:Master thread

主要将缓冲池中的数据异步刷新到磁盘

2.2:IO thread

2.3:Purge thread

3:内存

内存主要包含缓冲池

此处该有一图

3.1:缓冲池

InnoDB存储引擎是基于磁盘的,并将其的记录按照页的方式进行管理。但是由于CPu读取速度和磁盘速度之间的差距,需要使用缓冲池来提升数据库的性能

读取与修改

在数据库中进行读取页的操作时,首先讲从磁盘读取到的页存放到缓冲池中,这个过程称为“FIX”在缓冲池中。下一次再读取相同的页时,首先判断该页是否在缓冲池中。若在缓冲池中,称该页在缓冲池中被命中,直接读取该页。否则,读取磁盘上的页。

要对数据库的数据进行修改时,先要修改缓冲池中页,然后再在合适的时候刷新到磁盘。注意并不是修改后就刷新到磁盘,而是通过一种称为Checkpoint的机制刷新回磁盘。

缓冲池大小设置

通过参数innodb_buffer_pool_size来进行设置。

多个缓冲池实例

现在可以通过参数innodb_buffer_pool_instances来设置缓冲池的实例。每个页可以根据哈希值平均分配到多个实例中,可以增强数据库的并发处理能力。

标签:存储,读取,缓冲,池中,引擎,InnoDB,内存,该页,磁盘
来源: https://blog.csdn.net/qq_45331503/article/details/114786571