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

myisam 主要参数设置
 

Key_buffer_size: 

  这个参数主要用来设置整个mysqlkey cache大小。一般来说,如果运行在32位平台,一般不超过2G。如果是运行在64位平台则不做考虑此限制,但最好也不超过4G。

只能myisam引擎的表起作用,用来缓存索引数据,决定索引处理的速度,加快读索引速度。

 如何判断一个keybuffer 设置的好坏,可以通过下面的方式

Key_reads:代表磁盘读取数

Key_read_requests:代表读总的请求数

Key_reads/key_read_requests  两者比重尽可能的低,至少

 

  几个重要的比值:

  Key_buffer_read_hitratio=(1-key_reads/key_read_requests)*100%

 

  Key_buffer_usageratio=(1-key_block_used)/(key_blocks_used+key_blocks_unused))*100%

 

  Key_buffer_write_hitration=(1-key_writes/key_write_requests)*100%

 

Table_cache:

   Table_cache指定表高速缓存的大小,每当mysql访问一个表时,如果在表缓存中还有空间,该表就被打开并放入其中,这样可以更快访问表内容。可以通过查看峰值时的open_tables和opened_tables,决定是否需要增加table_cache值,如果open_tables等于table_cache,并且opened_tables在不断增长,那就需要增加table_cache值。

   我们需要注意的是,open_tables值也不能设的过高,或者会用完文件描述符,而出现如下错误

Can't open file: '.\data\test_table.frm'(errno: 24)
shell> perror 24
OS error code 24: Too many open files

  如果出现了上述问题,可以参考这篇文章《mysql打开的文件描述符限制》来解决问题

  对于mysql如何打开和关闭一个表,可以查看另一篇文章《mysql如何打开和关闭表》