InnoDB相關選項

2022-07-02 23:45:13 字數 1935 閱讀 7822

#innodb儲存資料字典、內部資料結構的緩衝池,16mb 已經足夠大了。

innodb_additional_mem_pool_size = 16m

#innodb用於快取資料、索引、鎖、插入緩衝、資料字典等

#如果是專用的db伺服器,且以innodb引擎為主的場景,通常可設定物理記憶體的50%

#如果是非專用db伺服器,可以先嘗試設定成記憶體的1/4,如果有問題再調整

#預設值是8m,非常坑x,這也是導致很多人覺得innodb不如myisam好用的緣故

innodb_buffer_pool_size = 4g

#innodb共享表空間初始化大小,預設是 10mb,也非常坑x,改成 1gb,並且自動擴充套件

innodb_data_file_path = ibdata1:1g:autoextend

#如果不了解本選項,建議設定為1,能較好保護資料可靠性,對效能有一定影響,但可控

innodb_flush_log_at_trx_commit = 1

#innodb的log buffer,通常設定為 64mb 就足夠了

innodb_log_buffer_size = 64m

#innodb redo log大小,通常設定256mb 就足夠了

innodb_log_file_size = 256m

#innodb redo log檔案組,通常設定為 2 就足夠了

innodb_log_files_in_group = 2

#啟用innodb的獨立表空間模式,便於管理

innodb_file_per_table = 1

#啟用innodb的status file,便於管理員檢視以及監控等

innodb_status_file = 1

#設定事務隔離級別為 read-commited,提高事務效率,通常都滿足事務一致性要求

transaction_isolation = read-committed

在這裡,其他配置選項也需要注意:

#設定最大併發連線數,如果前端程式是php,可適當加大,但不可過大

#如果前端程式採用連線池,可適當調小,避免連線數過大

max_connections = 60

#最大連線錯誤次數,可適當加大,防止頻繁連線錯誤後,前端host被mysql拒絕掉

max_connect_errors = 100000

#設定慢查詢閥值,建議設定最小的 1 秒

long_query_time = 1

#設定臨時表最大值,這是每次連線都會分配,不宜設定過大 max_heap_table_size 和 tmp_table_size 要設定一樣大

max_heap_table_size = 96m

tmp_table_size = 96m

#每個連線都會分配的一些排序、連線等緩衝,一般設定為 2mb 就足夠了

sort_buffer_size = 2m

join_buffer_size = 2m

read_buffer_size = 2m

read_rnd_buffer_size = 2m

#建議關閉query cache,有些時候對效能反而是一種損害

query_cache_size = 0

#如果是以innodb引擎為主的db,專用於myisam引擎的 key_buffer_size 可以設定較小,8mb 已足夠

#如果是以myisam引擎為主,可設定較大,但不能超過4g

#在這裡,強烈建議不使用myisam引擎,預設都是用innodb引擎

key_buffer_size = 8m

#設定連線超時閥值,如果前端程式採用短連線,建議縮短這2個值

#如果前端程式採用長連線,可直接注釋掉這兩個選項,是用預設配置(8小時)

interactive_timeout = 120

wait_timeout = 120

InnoDB相關引數

innodb相關引數 innodb additional mem pool size 3m innodb用於儲存元資料資訊的記憶體池大小,一般不需修改 innodb flush log at trx commit 1 事務相關引數,如果值為1,則innodb在每次commit都會將事務日誌寫入磁碟 ...

gcc 若干安全相關選項

參考 示例程式如下 1 include 2 include 3 4 int main 5 首先看看不帶 fortify source 選項的結果 tom localhost code gcc o2 o test test.c tom localhost code ll 可見,不帶 fortify s...

hbase效能相關選項說明

首先我們簡要說明下hbase的執行過程 1.新資料在hdfs中生成hlog的日誌檔案,同時插入到記憶體的memtable中 2.當memtable的大小超過hbase.hregion.memstore.flush.size的時候,將會把資料重新整理到hdfs中存成hfile格式 3.當hfile超過...