mysql学习-2.buffer pool

1.为啥要使用buffer pool

buffer pool是基于内存的,可以在磁盘中加载一些数据进来,进行增删改操作.

以此来减少了直接对磁盘的增删改的io操作,可以让增删改尽量在缓存中进行提升了性能

buffer pool如何配置

buffer pool默认值大小是128M

innodb_buffer_pool_size=xxx字节

设置buffer pool为3G(为128的倍数) buffer pool块数为8

mysqld --innodb_buffer_pool_size=3G --innodb_buffer_pool_instances=8 &

查看buffer pool相关配置

show variables like 'innodb_buffer_pool%';

2.buffer pool中如何存放缓存数据

在buffer pool中有一页一页的数据页,还有这个数据页相对于的描述数据块

每一个数据页的大小为16kb,而他的描述数据块是800字节的大小(为缓存页的5%左右)

所以实际的buffer pool默认值应该是在130m左右


3.由于支持多并发所以Buffer pool是由多个chunk块组成的

chunk块默认值大小是128M

innodb_buffer_pool_chunk_size=128M

如果给buffer pool加内存直接给他添加chunk块就行了

4.buffer pool总大小=(chunk大小*buffer pool数量)的2倍数

buffer pool为机器内存的50%-60%左右

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容