mysql使用最大内存计算公式

理论上mysql使用最大内存计算公式
key_buffer_size + query_cache_size + tmp_table_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size  + innodb_log_buffer_size + max_connections * (sort_buffer_size + read_buffer_size + read_rnd_buffer_size + join_buffer_size + thread_stack + binlog_cache_size)

 

key_buffer_size =16M         //key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。由于我的数据库引擎为innodb,大部分表均为innodb,此处取16M。

 

query_cache_size = 1M    //查询缓存大小,当打开时候,执行查询语句会进行缓存,读写都会带来额外的内存消耗,下次再次查询若命中该缓存会立刻返回结果。默认改选项为关闭

 

tmp_table_size = 16M    //当需要做类似group by操作生成的临时表大小,提高联接查询速度的效果,如果为动态页面,则设置为100M以上,不宜过大,导致内存不足I/O堵塞。

 

innodb_buffer_pool_size = 8000M   //这个参数主要作用是缓存innodb表的索引,数据,插

你可能感兴趣的:(mysql,Linux)