更新設置此值對已存在的內存表沒影響(重啟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