InnoDB相關引數

2021-07-10 13:58:57 字數 1168 閱讀 3104

# innodb相關引數

innodb_additional_mem_pool_size=3m # innodb用於儲存元資料資訊的記憶體池大小,一般不需修改

innodb_flush_log_at_trx_commit =1 # 事務相關引數,如果值為1,則innodb在每次commit都會將事務日誌寫入磁碟(磁碟io消耗較大),這樣保證了完全的acid特性。而如果設定為0,則表示事務日誌寫入記憶體log和記憶體log寫入磁碟的頻率都為1次/秒。如果設為2則表示事務日誌在每次commit都寫入記憶體log,但記憶體log寫入磁碟的頻率為1次/秒。

innodb_log_buffer_size=2m # innodb日誌資料緩衝大小,如果緩衝滿了,就會將緩衝中的日誌資料寫入磁碟(flush)。由於一般至少都1秒鐘會寫一次磁碟,所以沒必要設定過大,即使是長事務。

innodb_buffer_pool_size=105m # innodb使用緩衝池來快取索引和行資料。該值設定的越大,則磁碟io越少。一般將該值設為物理記憶體的80%。

innodb_log_file_size=53m # 每乙個innodb事務日誌的大小。一般設為innodb_buffer_pool_size的25%到100%

innodb_thread_concurrency=10 # innodb核心最大併發執行緒數,預設為10

innodb_file_per_table=1 

# 開啟單表單檔案

innodb_open_files=1000  # 與 innodb_file_per_table 連用,預設值為300,設定為 < 1024 的值,否則會報錯

例子:

innodb_log_buffer_size=8m

#使用預設的

innodb_flush_log_at_trx_commit=1 ,即每次都 commit ,所以可以設定小點

innodb_buffer_pool_size=8g

#設定為物理記憶體的50%

innodb_log_file_size=512m

#設定為 

innodb_buffer_pool_size 的16分之一,當然可以增大值到8分之一值(對應 mysql 下的 ib_logfile0的檔案)

innodb_file_per_table=1 

innodb_open_files=1000

InnoDB相關選項

innodb儲存資料字典 內部資料結構的緩衝池,16mb 已經足夠大了。innodb additional mem pool size 16m innodb用於快取資料 索引 鎖 插入緩衝 資料字典等 如果是專用的db伺服器,且以innodb引擎為主的場景,通常可設定物理記憶體的50 如果是非專用d...

innodb幾個引數

innodb flush method 該引數控制著如何重新整理資料到資料檔案 日誌檔案,該引數影響io吞吐。在類unix中如果這個引數沒有配置,那麼預設是fsync被使用。在類unix系統中,有下面的設定 fysnc 使用fsync 系統函式重新整理資料 o dsync innodb使用o syn...

十九 InnoDB核心引數

default storage engine innodb 儲存引擎設定引數 innodb file per table 1 預設獨立表空間模式 innodb data file path ibdata1 512m ibdata2 512m autoextend 共享表空間檔案個數跟大小配置 inn...