mysql内存优化总结

1.mysql内存优化原则

  a. 将尽量多的内存分配给mysql做缓存,但是也要给操作系统和其他程序预留足够内存。

  b. MyISAM的数据文件读取依赖于操作系统的io,因此如果有MyISAM表,就要预留更多的内粗给操作系统做io缓存。

 c. 合理设置排序区、链接区等缓存大小。


2.MyISAM内存优化

  MyISAM没有特别的缓存机制,完全依赖于操作系统的io缓存

  2.1 key_buffer_size
        key_buffer_size决定MyISAM索引块缓存去的大小,直接影响MyISAM表的存取效率。对于一般MyISAM数据库,建议至少将1/4可用内存分配给key_buffer_size

  2.2 read_buffer_size和read_rnd_buffer_size

        如果需要经常顺序扫描MyISAM表,可以通过增大read_buffer_size的值来提高性能。但是要注意它是每个session独占的,如果默认值太大,就可能浪费内存,造成物理内存耗尽。

        对于要做排序的MyISAM表查询,如带有order by子句的sql,适当增大read_rnd_buffer_size,来改善性能。它也是每个session独占的。


3 InnoDB内存优化

     InnoDB的缓存机制和MyISAM不太相同。InnoDB用一块内存区做IO缓存池,该缓存池不仅用来缓存InnoDB的索引块,也用来缓存数据块。

    3.1 innodb_buffer_pool_size

         innodb_buffer_pool_size决定InnoDB缓存区大小 就是上面提到的内存区。在保障操作系统及其他程序有足够的内存可用的情况下该值越大,性能越好。

     3.2 调整innodb_log_buffer_size

          innodb_log_buffer_size决定InnoDB重做日志缓存池的大小。对于一个会在事务中更新、插入、删除大量记录的应用,可以提高innodb_log_buffer_size来提高事务处理的性能。


 还有一个参数

 max_connections 并发连接数,决定允许连接到mysql数据库的最大数量,linux操作系统下, mysql支持500-1000不是问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值