码迷,mamicode.com
首页 > 数据库 > 详细

mysql 之my.cnf配置调优

时间:2016-03-09 13:04:28      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:my.cnf配置调优

对pre_thread_buffers优化(可以理解为每个连接到mysql的用户进程分配的内存):

  • read_buffer_size 

    该参数表示表的顺序扫描,表示每个线程分配的缓冲区的大小。如在全表扫描时,会按照数据的存储顺序依次读取数据块,每次读取的数据库首先暂存在read_buffer_size中,当buffer空间被写满或者读取结束后,再将buffer中的数据返回给上层调用者,以提高效率。默认128kb,不用设置太大,一般在128~256即可。

  • read_rnd_buffer_size

    该参数表示表的随机读取,表示每个线程分配的缓冲大小,如按照一个非索引字段做order by 排序操作时,就会利用这个缓冲区来暂存取的数据,默认是256kb,也不用设置太多,在128~256即可。

  • sort_buffer_size

    在表进行order by 和group by排序操作时,由于排序的字段没有索引,会出现using filesort,为了提高性能,可用这个参数增加每个线程分配的缓冲区大小。默认是2M,也不用太大,一般在128~256即可,如出现using filesort,可以用索引来解决问题。

  • thread_stack

    该参数表示每个线程的堆栈大小,默认是192kb,如果是64位系统,设置256即可,不用设置过大。

  • join_buffer_size

    表进行join连接操作时,如果关联的字段没有索引,会出现using jion buffer,为了提高性能,可用次参数增加每个线程分配的换成区大小。默认是128kb,一般在128~256即可。一般出现using join buffer的时候,要通过增加索引来解决。

  • binlog_cache_size

    如果数据库没有什么大事物,写入不是特别频繁,这种1~2M是一个合适的选择,如果事物很大,可以适当增加这个值。

  • max_connections

    设置最大连接数,默认是100,一般设置512~1000即可。

pre_thread_buffers内存的计算公式:(read_buffer_size+read_rnd_buffer_size+sort_buffer_size+thread_stack+join_buffer_size+binlog_cache_size)*max_connections


mysql 之my.cnf配置调优

标签:my.cnf配置调优

原文地址:http://7078981.blog.51cto.com/7068981/1749059

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!