首页 > 极客资料 博客日记
MySQL服务端innodb_buffer_pool_size配置参数
2024-09-02 15:30:02极客资料围观18次
文章MySQL服务端innodb_buffer_pool_size配置参数分享给大家,欢迎收藏极客之家,专注分享技术知识
innodb_buffer_pool_size是什么?
innodb_buffer_pool是 InnoDB
缓冲池,是一个内存区域保存缓存的 InnoDB
数据为表、索引和其他辅助缓冲区。innodb_buffer_pool_size 是这个缓冲池的大小,默认128M(即134217728 bytes)。
innodb_buffer_pool_size有什么用?
如果不设置innodb_buffer_pool_size,在生产环境的sql执行效率将大大下降,原因是缓存的空间变小,能缓存的数据量有限,缓存的命中率大打折扣,会导致反复去磁盘上读数据,众所周知磁盘的速度远远低于内存的执行效率。
innodb_buffer_pool_size的值配置有什么要求?
innodb_buffer_pool_size的值必须是(innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances
)的整数倍,即可以相等或更大。
-- 显示当前使用的innodb缓冲池大小 及 缓冲池实例数与主干大小
SELECT @@innodb_buffer_pool_size as pool_size,
@@innodb_buffer_pool_instances as pool_instances,
@@innodb_buffer_pool_chunk_size as chunk_size;
innodb_buffer_pool_size设置方式
两种设置方式,区别在于MySQL的运行状态,静态设置需要重启MySQL,动态设置在MySQL运行期动态调整。
静态设置:
- 修改my.cnf,在
[mysqld]
作用域添加innodb_buffer_pool_size=计算值
。 - 重启mysql。
动态设置:
- 执行
SET GLOBAL innodb_buffer_pool_size=计算值;
设置缓冲池大小。 - 执行
SHOW STATUS WHERE Variable_name='InnoDB_buffer_pool_resize_status';
查询缓冲池大小改变状态,出现Completed resizing buffer pool at 时间戳
即完成。 - 执行
SELECT @@innodb_buffer_pool_size;
查询当前缓冲池大小。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”