mysql怎么样定义变量 mysql 设置变量( 二 )


flush_time
如果这被设置为非零值,那么每flush_time秒所有表将被关闭(以释放资源和sync到磁盘) 。
interactive_timeout
服务器在关上它前在一个交互连接上等待行动的秒数 。一个交互的客户被定义为对mysql_real_connect()使用CLIENT_INTERACTIVE选项的客户 。也可见wait_timeout 。
join_buffer_size
用于全部联结(join)的缓冲区大小(不是用索引的联结) 。缓冲区对2个表间的每个全部联结分配一次缓冲区 , 当增加索引不可能时,增加该值可得到一个更快的全部联结 。(通常得到快速联结的最佳方法是增加索引 。)
key_buffer_size
索引块是缓冲的并且被所有的线程共享 。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多 。如果你使它太大,系统将开始换页并且真的变慢了 。记住既然MySQL不缓存读取的数据,你将必须为OS文件系统缓存留下一些空间 。为了在写入多个行时得到更多的速度,使用LOCKTABLES 。见7.24LOCKTABLES/UNLOCKTABLES语法 。
long_query_time
如果一个查询所用时间超过它(以秒计),Slow_queries记数器将被增加 。
max_allowed_packet
一个包的最大尺寸 。消息缓冲区被初始化为net_buffer_length字节,但是可在需要时增加到max_allowed_packet个字节 。缺省地,该值太小必能捕捉大的(可能错误)包 。如果你正在使用大的BLOB列,你必须增加该值 。它应该象你想要使用的最大BLOB的那么大 。
max_connections
允许的同时客户的数量 。增加该值增加mysqld要求的文件描述符的数量 。见下面对文件描述符限制的注释 。见18.2.4Toomanyconnections错误 。
max_connect_errors
如果有多于该数量的从一台主机中断的连接,这台主机阻止进一步的连接 。你可用FLUSHHOSTS命令疏通一台主机 。
max_delayed_threads
不要启动多于的这个数字的线程来处理InsertDELAYED语句 。如果你试图在所有InsertDELAYED线程在用后向一张新表插入数据,行将入,就像DELAYED属性没被指定那样 。
max_join_size
可能将要读入多于max_join_size个记录的联结将返回一个错误 。如果你的用户想要执行没有一个Where子句、花很长时间并且返回百万行的联结,设置它 。
max_sort_length
在排序BLOB或TEXT值时使用的字节数(每个值仅头max_sort_length个字节被使用;其余的被忽略) 。
max_tmp_tables
(该选择目前还不做任何事情) 。一个客户能同时保持打开的临时表的最大数量 。
net_buffer_length
通信缓冲区在查询之间被重置到该大小 。通常这不应该被改变,但是如果你有很少的内存,你能将它设置为查询期望的大小 。(即,客户发出的SQL语句期望的长度 。如果语句超过这个长度,缓冲区自动地被扩大,直到max_allowed_packet个字节 。)
record_buffer
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区 。如果你做很多顺序扫描,你可能想要增加该值 。
sort_buffer
每个需要进行排序的线程分配该大小的一个缓冲区 。增加这值加速ORDERBY或GROUPBY操作 。见18.5MySQL在哪儿存储临时文件 。
table_cache
为所有线程打开表的数量 。增加该值能增加mysqld要求的文件描述符的数量 。MySQL对每个唯一打开的表需要2个文件描述符,见下面对文件描述符限制的注释 。对于表缓存如何工作的信息,见10.2.4MySQL怎样打开和关闭表 。
tmp_table_size
如果一张临时表超出该大小 , MySQL产生一个Thetabletbl_nameisfull形式的错误,如果你做很多高级GROUPBY查询 , 增加tmp_table_size值 。

推荐阅读