更新设置此值对已存在的内存表没影响(重启mysql服务器就有),对create/update/truncate语句有影响。
-------------------------------------------------------------------
16、max_insert_delayed_threads | 20
是max_delayed_threads的别名,看第13点。
作用域:全局 、会话
-----------------------------------------------------------------------
17、 max_join_size | 18446744073709551615
18、 sql_big_selects | ON
max_join_size和sql_big_selects
作用域:全局 、会话
sql_big_selects默认值是1,表示所有select查询都执行(不管时间长短)。
sql_big_selects=0/OFF时,mysql先估算单表查询结果行数或多表查询组合行数的大小,若比max_join_size大时,就会放弃该查询语句。
max_join_size默认是4294967295,值域:1~4294967295
注意:sql_big_selects=0/OF的情况下,max_join_size不齐作用,且当max_join_size设置为非默认值时,sql_big_selects会被重置为0.
------------------------------------------------------------------------
19、 max_length_for_sort_data | 1024 ====
确定使用的filesort算法的索引值大小的限值。
作用域:全局 、会话
=========以下引用网上内容这是地址:http://www.itpub.net/thread-1417429-1-1.html
mysql的filesort算法有两种:
一种是最初的算法,在MySQL 4.1以前只有这种算法,一种是改进的filesort算法,它出现在MySQL 4.1以后(blob和text类型的字段不能采用这种改进算法)
"最初的算法"流程如下:
1.读取所有的满足条件的数据,只包含sort key和row pointer两种数据
2.在buffer中执行qsort排序
3.排完序后,再根据row pointer去读取相应的行数据
从中可以看出,每次排序都需要读两次表,而根据row pointer去读表往往都是随机离散读的,所有其开销非常大。
改进后的filesort算法是:
1.读取所需要的数据,包含sort key,row pointer和查询所需要访问的字段
2.根据sort key排序
3.按排序后的顺序读取数据,由于sort_buffer_size中包含了所需要的字段,因此不需要再回表了,可以直接返回结果给客户端。
很明显,这种改进的方法对sort_buffer_size的需求也大大增加.
所以为了防止性能下降,mysql增加了一个参数max_length_for_sort_data,当第一步中除了sort key以外的字段内容大于max_length_for_sort_data这个参数时,mysql将采用第一种排序算法。
--------------------------------------------------------------------
20、max_prepared_stmt_count | 16382
该变量设置预处理语句限制数。这个功能能防止拒绝服务攻击,因为攻击可以通过大量的预处理语句致使服务器内存溢出来攻击。设置此变量就是一道安全屏障,此变量对原有的预处理语句不影响,但若是预处理语句的数量超过该变量的值,则不会新增预处理语句,而是等到预处理语句的值小于max_prepared_stmt_count的值才增加新语句。
作用域:全局
默认值:16382 值域:0~1048576
若设为0则表示不允许预处理语句。
注意:该变量是version()>5.0.21才有
-----------------------------------------------------------------
21、max_relay_log_size | 0
中继日志大小,和第10点的max_binlog_size类同,只不过中继日志是保存从服务器的日志,是从主服务器复制过来的二进制日志。
当max_relay_log_size =0则max_relay_log_size=max_binlog_size
当max_relay_log_size >0则中继日志大小是max_relay_log_size设定的值
作用域:全局
默认值:0 值域:0~1073741824
-----------------------------------------------------------------
22、max_seeks_for_key | 4294967295
此变量假定索引搜索行数最大值。也就是说这个值是索引搜索最大值。查询优化器会忽略索引基数(用show index from table 可看到基数cardinality),它假定扫描索引匹配的行数不会超过max_seeks_for_key设定值。
官网:可以通过改小这个值来强制mysql使用索引来代替全表扫描。
作用域:全局 、会话
在32位系统:默认4294967295,值域:1~ 4294967295
在64位系统:默认18446744073709547520,值域1~18446744073709547520
--------------------------------------------------------------------
23、 max_sort_length | 1024
当排序BLOB或者TEXT类型列数据时用的字节数。当数据长度> max_sort_length设定值,排序就用max_sort_length的长度来排序,后面的数据被忽略。
作用域:全局 、会话
默认是1024 值域:4~ 8388608
----------------------------------------------------------------------
25、max_sp_recursion_depth | 0
设定存储过程(sp=>save procedures)最大递归数。
作用域:全局 、会话
默认0,禁止存储过程递归,最大值255
PS:此变量在version()=5.0.17引入
----------------------------------------------------------------------
26、max_tmp_tables | 32
设定客户端同时能打开临时表个数的最大值
作用域:全局 、会话
32位系统:默认32 值域:1~4294967295
64位系统:默认32 值域:1~18446744073709547520
原文转自:http://blogread.cn/it/article/5968