日期:2014-05-16  浏览次数:20828 次

innodb表的key_buffer_size参数是否有用?
我的mysql中数据库的表类型都是innodb类型的,最近看了一些文章上说key_buffer_size只作用于myisam表,如果没有myisam表,是不是可以将该值设置的小一些呢

------解决方案--------------------
key_buffer_size

key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。

key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。

对于1G内存的机器,如果不使用MyISAM表,推荐值是16M(8-64M)。