Mysql查询慢-内存优化

缓存池

如果你的mysql在部署时,未设置缓存池。应用在使用过程中很慢的时候,可以从这块入手。

什么是缓存池

Mysql的一个内存缓存,用来提高使用mysql的响应和写入速度,如果内存吃满,就会从磁盘通过io获取数据。
mysql在做增、删、改、查时,会使用到缓存池。

排查是否缓冲池问题

查询缓冲池命中率:show status like ‘Innodb_buffer_pool_read%’;
在这里插入图片描述

Vaiable_name说明
Innodb_buffer_pool_read_requests从缓存中交互数据的次数
Innodb_buffer_pool_reads从硬盘交互数据的次数

当您查询的数据,如果硬盘交互次数很高,说明缓存不够用了,命中率跟你的实际情况来定,建议能命中90%以上

修改缓冲池内存大小

查看缓存池当前大小

查询缓冲池内存状态:show variables like ‘innodb_buffer_pool%’;
在这里插入图片描述

Vaiable_name说明
innodb_buffer_pool_size缓存池内存大小,默认128M
innodb_buffer_pool_instances并发处理缓存池的实例数,大于1G默认8,小于1G默认1
innodb_buffer_pool_chunk_size缓存池中每一块的大小,默认128M

从这里看出,现在设置:
缓存池大小:innodb_buffer_pool_size=2G
并发8个实例:innodb_buffer_pool_instances=8

临时运行时修改

在线修改大小:set global innodb_buffer_pool_size = 2147483648
global innodb_buffer_pool_size的值,必须是innodb_buffer_pool_chunk_size的倍数,就是128M的倍数就可以

配置文件中修改

在这里插入图片描述

在配置文件中[mysql]下添加:innodb_buffer_pool_size=2G
重启Mysql服务器生效

命令界面查询:show variables like ‘innodb_buffer_pool%’; 查看是否修改成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值