MySQL 伺服器擁有多個影響運作行為的參數(變數)。預設值若不合適,可依執行環境調整。例如:大量記憶體可分配較大緩衝區給磁碟與索引操作,減少磁碟 I/O;資源有限的系統則應縮減緩衝區,避免排擠其他程序。
mysqladmin variables。--set-variable var_name=value 或簡寫 -O var_name=value。多個參數可重複使用該選項。[mysqld] 群組中以 set-variable=var_name=value 語法指定。完整參數清單請參考附錄 E;常用效能相關參數如下:
back_logdelayed_queue_sizeINSERT DELAYED 陳述式的排隊列大小。佇列滿時新請求會阻塞,若有大量此類插入且發生阻塞,可調大此值。(INSERT DELAYED 詳見 4.5 節)flush_time--flush 啟動參數達到同樣效果。key_buffer_size (key_buffer)key_buffer,新版雙名皆支援。max_allowed_packetmysql --set-variable max_allowed_packet=24M)。max_connectionstable_cachemax_connections 與 table_cache,會消耗大量檔案描述符,可能觸及作業系統限制,需調整 ulimit 或核心參數。替代方案:拆分資料目錄並運行多個伺服器,但會增加跨伺服器存取與權限同步的複雜度。record_buffer、sort_buffer更多優化討論請參閱 MySQL 參考手冊「從 MySQL 中獲得最高性能」一章。