mysql中影響效能的全域性變數

2021-07-04 09:14:00 字數 2309 閱讀 7664

bulk_insert_buffer_size

批量插入快取大小,該引數主要是針對myisam儲存引擎來說的。適用於在一次性插入100-1000+條記錄的情況時,提高效率。預設值是8m,可以針對資料量的大小,翻倍增加。

concurrent_insert

併發插入,當表沒有空洞(即刪除過記錄)時,某程序獲取讀鎖的情況下,其他程序可以在表尾部進行插入。

0:表示不允許併發插入

1:當表沒有空洞時,執行併發插入

2:不管是否有空洞都執行併發插入

預設是1,該引數需要針對表記錄的刪除頻率來設定。

delay_key_write

延遲更新索引,該引數主要是針對myisam儲存引擎來說的。意思是update記錄時,先將資料up到磁碟,但不up索引,然後將索引存在記憶體裡,當表關閉時,將記憶體索引寫到磁碟。

0:表示不開啟

1:表示開啟 預設是1.

delayed_insert_limit, delayed_insert_timeout,delayed_queue_size

延遲插入,將資料先交給記憶體佇列,然後慢慢地插入。該引數主要是針對myisam儲存引擎來說的。根據實際情況調大,一般選擇預設。

expire_logs_days

自動刪除超過指定天數的日誌,設定為0時,表示「不自動刪除」。

flush, flush_time

是否啟用同步表資料到磁碟以及自動同步的間隔時間。針對flush_time,官方建議只在windows 9x或me,或有最小資源的系統中使用該選項,因此建議關閉。

ft_boolean_syntax,ft_max_word_len,ft_min_word_len,ft_query_expansion_limit,ft_stopword_file

全文搜尋特性,該引數主要是針對myisam儲存引擎來說的。如果不使用fulltext索引,就不需要優化。

join_buffer_size

用於表間關聯(join)的快取大小,建議設為131072(128k)。

key_buffer_size

索引塊快取區大小,該引數主要是針對myisam儲存引擎來說的。該值越大,效能越好,但是超過作業系統能承受的最大值,反而會使mysql變得不穩定,因此如果不是myisam儲存引擎,一般設定為4-32m。

key_cache_age_threshold,key_cache_block_size,key_cache_division_limit

鍵值快取的相關設定,需要針對實際情況調優,該引數主要是針對myisam儲存引擎來說的。

large_pages

是否啟動大頁面支援,意思是可以給一些快取分配更大的空間,這個特性已經被innodb、myisam等常用儲存引擎支援。

low_priority_updates

低優先順序更新,意思是所有的寫操作(表寫鎖),包括update,delete,insert等都需要等待讀操作完成後才執行(表讀鎖解開)。 因為是針對表的鎖,所以這裡僅支援myisam儲存引擎。

max_write_lock_count

最大寫鎖數量,意思是當寫鎖達到一定數量後,就不限制讀鎖,允許一部分讀鎖進入。因為是針對表的鎖,所以這裡僅支援myisam儲存引擎

preload_buffer_size

過載索引時分配的緩衝區大小,該引數僅支援myisam儲存引擎。

read_buffer_size, read_rnd_buffer_size

每個執行緒連續掃瞄時,為掃瞄的每個表分配的緩衝區的大小(位元組)。如果進行多次連續掃瞄,可能需要增加該值, 預設值為131072。

sort_buffer_size

每個排序執行緒分配的緩衝區大小。增加該值可以加快order by或group by操作,預設數值是2097144(2m),建議加大到 16777208 (16m)。

timed_mutexes

顯示mutexes的統計資訊,預設關閉off。

tmp_table_size

臨時表的大小,在未超過大小之前進行的操作是在記憶體中的,當超過後,mysql會自動轉換到磁碟上。

Mysql全域性變數含義

5.常用運維命令 6.mysql鎖定狀態檢視相關命令 原文 show global variables show global variables like 方式一 set global 變數名 值 方式二 etc my.cnf mysqld 段中 變數名 值 需重啟mysql後生效 有些變數set...

static全域性變數與普通的全域性變數

一 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是...

全域性變數與靜態全域性變數的異同

參考 1 生存週期 變數從定義到銷毀的時間範圍。存放在全域性資料區的變數的生存週期存在於整個程式執行期間,而存放在棧中的資料則隨著函式等的作用域結束導致出棧而銷毀,除了靜態變數之外的區域性變數都存放於棧中。2 作用域 變數的可見 域 塊作用域,函式作用域,類作用域,程式全域性作用域 3 static...