在 MySQL 中,內存配置優化是提高性能的一個關鍵步驟,一般來說,我們可以通過以下幾個方面來進行優化:
1. 設置 innodb_buffer_pool_size
SET GLOBAL innodb_buffer_pool_size=6G;
innodb_buffer_pool_size 設置了 InnoDB 存儲引擎使用的內存緩沖池大小,一般建議設置為可用內存的 50-80%左右,如果服務器主要是運行 MySQL,可以設置為可用內存的 60-70%。
2. 設置 tmp_table_size 和 max_heap_table_size
SET GLOBAL tmp_table_size=256M; SET GLOBAL max_heap_table_size=256M;
tmp_table_size 和 max_heap_table_size 用于控制使用內存臨時表的大小,一般設置為同樣大小的值,建議設置為總內存的 1-2%。
3. 設置 query_cache_size
SET GLOBAL query_cache_size=256M;
query_cache_size 用于控制查詢結果的緩存,一般建議設置為可用內存的 5-10%。
4. 設置 sort_buffer_size 和 join_buffer_size
SET GLOBAL sort_buffer_size=64M; SET GLOBAL join_buffer_size=64M;
sort_buffer_size 和 join_buffer_size 分別用于控制排序和連接的內存大小,建議分別設置為可用內存的 1-2%。
5. 設置 binlog_cache_size 和 binlog_stmt_cache_size
SET GLOBAL binlog_cache_size=256M; SET GLOBAL binlog_stmt_cache_size=256M;
binlog_cache_size 和 binlog_stmt_cache_size 分別用于控制二進制日志緩存的大小,建議設置為可用內存的 2-4%左右。