首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 關鍵參數調優:key_buffer_size 與 table_cache 實戰指南

     編輯:MySQL 資料庫相關知識

MySQL 參數眾多,但對性能影響最大的核心參數因存儲引擎而異:MyISAM 看 key_buffer_size、table_cache;InnoDB 看 innodb_* 系列。本文聚焦前兩者。

key_buffer_size:索引緩衝區大小

決定索引讀取速度,所有線程共享。判斷是否合理:

SHOW STATUS LIKE 'key_read%';
Key_reads / Key_read_requests 應 ≤ 0.1%(即 1:1000 以上)

實例:Key_reads=1,014,261,Key_read_requests=3,916,880,184,比率 1:4000,健康。

table_cache:表緩存大小

每打開一表佔一個緩存槽位。監控峰值:

SHOW STATUS LIKE 'Open%tables';
Open_tables ≈ table_cache 且 Opened_tables 持續增長 → 需調大

⚠️ 盲目調大會耗盡文件描述符,導致連接失敗。須同步調大 open_files_limit(建議 ≥8192)。

InnoDB 核心參數對照

  • innodb_buffer_pool_size:對應 MyISAM 的 key_buffer,但同時緩存數據與索引。專用 DB 建議佔物理記憶體 70%-80%。
  • 不可動態修改,分配過大導致 Swap 反而拖慢查詢。

快速查看參數與狀態

SHOW VARIABLES;          -- 靜態配置
SHOW STATUS;             -- 動態運行狀態
mysqladmin variables
mysqladmin extended-status
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved