可以改良mysql機能的InnoDB設置裝備擺設參數。本站提示廣大學習愛好者:(可以改良mysql機能的InnoDB設置裝備擺設參數)文章只能為提供參考,不一定能成為您想要的結果。以下是可以改良mysql機能的InnoDB設置裝備擺設參數正文
而因為InnoDB是一個硬朗的事務型存儲引擎,曾經有10多年的汗青,一些分量級的互聯網公司(Yahoo,Google Netease ,Taobao)也常常應用
我的平常任務也常常接觸InnoDB,如今就InnoDB一部門可以改良機能的參數羅列
1. innodb_additional_mem_pool_size
除緩存表數據和索引外,可認為操作所需的其他外部項分派緩存來晉升InnoDB的機能。這些內存便可以經由過程此參數來分派。推舉此參數至多設置為2MB,現實上,是須要依據項目標InnoDB表的數量響應地增長
2.innodb_data_pool_size
此參數相似於MySQL的key_buffer參數,但特定用於InnoDB表.這個參數肯定了要預留若干內存來緩存表數據和索引。與key_buffer一樣,更高的設置會晉升機能,可所以辦事器的內存70-80%
3.innodb_data_file_path
參數的名字和現實的用處有點收支,它不只指定了一切InnoDB數據文件的途徑,還指定了初始年夜小分派,最年夜分派和超越肇端分派界限時能否應該增長文件的年夜小。此參數的普通格局以下:
path-to-datafile:size-allocation[:autoextend[:max-size-allocation]]
例如,假定願望創立一個數據文件sales,初始年夜小為100MB,並願望在每次到達以後年夜小限制時,主動增長8MB(8MB是指定autoextend時的默許擴大年夜小).然則,不願望此文件跨越1GB,可使用以下設置裝備擺設:
innodb_data_home_dir =
innodb_data_file_path = /data/sales:100M:autoextend:8M: max:1GB
假如此文件增長到預定的1G的限制,可以再增長別的一個數據文件,以下:
innodb_data_file_path = /data/sales:100M:autoextend:8M: max:1GB;innodb_data_file_path = /data2/sales2:100M:autoextend:8M: max:2GB
要留意的是,在這些示例中,inndb_data_home_dir參數開端設置為空,由於終究數據文件位於零丁的地位(/data/和/data2/).假如願望一切 InnoDB數據文件都位於雷同的地位,便可以應用innodb_data_home_dir來指定配合地位,然後在經由過程 inndo_data_file_path來指定文件名便可。假如沒有界說這些值,將在datadir中創立一個sales。
4 innodb_data_home_dir
此參數指定創立InnoDB表空間的途徑的公共部門,默許情形下,這是MySQL的默許數據,由MySQL參數datadir指定
5. innodb_file_io_threads
此參數指定InnoDB表可用的文件I/O線程數,MySQL開辟人員建議在非Windows平台中這個參數設置為4
6. innodb_flush_log_at_trx_commit
假如將此參數設置為1,將在每次提交事務後將日記寫入磁盤。為供給機能,可以設置為0或2,但要承當在產生毛病時喪失數據的風險。設置為0表現事務日記寫入日記文件,而日記文件每秒刷新到磁盤一次。設置為2表現事務日記將在提交時寫入日記,但日記文件每次刷新到磁盤一次。
7.innodb_log_archive
由於MySQL今朝應用本身的日記文件恢復InnoDB表,此參數可設置為0
8.innodb_log_arch_dir
MySQL今朝疏忽此參數,但會在將來的版本中應用。今朝,應該將其設置為與innodb_log_group_home_dir雷同的值
9.innodb_log_buffer_size
此參數肯定些日記文件所用的內存年夜小,以M為單元。緩沖區更年夜能進步機能,但不測的毛病將會喪失數據.MySQL開辟人員建議設置為1-8M之間
10. innodb_log_file_size
此參數肯定數據日記文件的年夜小,以M為單元,更年夜的設置可以進步機能,但也會增長恢復毛病數據庫所需的時光
11.innodb_log_files_in_group
為進步機能,MySQL可以以輪回方法將日記文件寫到多個文件。推舉設置為3M
12. innodb_log_group_home_dir
此參數肯定日記文件組中的文件的地位,日記組中文件的個數由innodb_log_files_in_group肯定,此地位設置默許為MySQL的datadir
13.innodb_lock_wait_timeout
InnoDB 有其內置的逝世鎖檢測機制,能招致未完成的事務回滾。然則,假如聯合InnoDB應用MyISAM的lock tables 語句或第三方事務引擎,則InnoDB沒法辨認逝世鎖。為清除這類能夠性,可以將innodb_lock_wait_timeout設置為一個整數值,指導 MySQL在許可其他事務修正那些終究受事務回滾的數據之前要期待多長時光(秒數)
14.skip-innodb
啟用此參數能避免攙雜InnoDB表驅動法式,不應用InnoDB表時推舉此設置