ServerVariables
Contents |
[edit] Server Variables
This wiki area is dedicated to the description, documentation, and suggestions for the myriad server system variables (docs) affecting MySQL's performance, memory usage, and configuration. Server variables can be placed in configuration files (docs) or provided directly to the mysqld binary from the command line. They are used to configure the various components and aspects of the MySQL server, storage engines, client, and support tools.
Modifying server variables can be done by modifying the configuration files, or, for some variables, issuing a SET command.
[edit] Memory-Related Variables
These server variables control the amount of memory allocated to the various buffers and caches within MySQL.
- join_buffer_size
- (PER SESSION) Controls the amount of memory allocated to perform joins on tables that have no keys which can be used to perform a condition filter. Allocated for each table joined without necessary filter conditions
- key_buffer_size
- (GLOBAL) (MyISAM-only) Controls the amount of memory allocated to the MyISAM index key cache
- innodb_buffer_pool_size
- (GLOBAL) (InnoDB-only) Controls the amount of memory allocated to the InnoDB cache containing both clustered data and secondary index pages
- innodb_additional_mem_pool_size
- (GLOBAL) (InnoDB-only) Controls the amount of memory allocated to the buffer storing the InnoDB internal data dictionary
- innodb_log_buffer_size
- (GLOBAL) (InnoDB-only) Controls the amount of memory allocated to the buffer storing InnoDB write-ahead log entries
- query_cache_size
- (GLOBAL) Controls the amount of memory allocated to the Query Cache
- read_buffer_size
- (PER SESSION) Controls the amount of memory allocated to the connecting thread in order to process a table scan
- read_rnd_buffer_size
- (PER SESSION) Controls the amount of memory allocated to the buffer used to read previously sorted results
- sort_buffer_size
- (PER SESSION) Controls the amount memory allocated to the buffer used to sort result sets before returning the set to the calling client
- thread_stack
- (PER SESSION) Controls the default stack memory allocated for each connecting thread
- tmp_table_size
- (GLOBAL) Controls the maximum memory to allocate to a temporary table before MySQL converts it into an on-disk MyISAM table
[edit] Thread-Related Variables
- thread_cache_size
- (GLOBAL) Determines the number of thread connection objects that MySQL keeps in a cache to mitigate resource creation costs