keep_files_on_create={ON|OFF}
此项默认值为OFF。创建MyISAM类型的表时,mysqld会在数据目录中为其创建一个.MYD文件和一个.MYI文件,如果数据目录中已经存在一个同名的文件,默认设定为覆盖操作,当设定此变量为OFF时,则会返回一个错误信息。作用范围为全局或会话级别,可用于配置文件,属动态变量。
key_buffer_size=#
所有线程共享的、用于MyISAM表的索引缓冲空间大小,其也通常被称作key cache。在32位平台上其最大值为4G,64位平台上允许使用更大的值,但较为有效的值取决于可用物理RAM资源的大小和每进程可用RAM大小的限制。mysqld启动时会尽可能分配接近于指定大小的RAM空间给key_buffer_size,而非一定是指定大小。增大此值可以加速读写操作时对索引的处理速度,因此,在一个以MyISAM为主要表类型的应用场景中可以将此值设定到物理内存空间的25%,然而,比此者再大的值则反而可能引起系统性能下降了,比如设定到物理内容间的50%时则可能带来严重的性能问题。更何况,还需要考虑其它类型存储引擎对内存的需要。
当向表中同时插入多行数据时,使用LOCK TABLES会加速其执行过程。当然,也可以观察SHOW STATUS命令输出中的Key_read_requests, Key_reads, Key_write_requests和Key_writes值也判定mysqld的性能表现。正常情况下,Key_reads/Key_read_requests的比值应该小于0.01,而Key_writes/Key_write_requests的比值通常会接近于1,不过在启用了DELAY_KEY_WRITE选项的场景中,这个比值可能会更小。
key_cache_block_size=#
MyISAM存储引擎的索引存放于“.MYI”文件中,每个“.MYI”文件由文件头和实际的索引数据共同组成。