innodb_buffer_pool_size
設為物理內存的50%-80%(InnoDB核心參數,緩存數據和索引)。max_connections
根據實際需求設置(避免過多連接占用內存),建議配合thread_cache_size
(緩存線程,減少創建開銷)。tmp_table_size
和max_heap_table_size
設為64M-256M(控制排序/臨時表內存消耗)。query_cache
(可能引發性能瓶頸)。SELECT 具體列
替代SELECT *
,減少數據傳輸。EXPLAIN
分析執行計劃,避免過度索引。systemd
或cgroup
限制MySQL進程內存上限,避免占用全部物理內存。SHOW STATUS
或performance_schema
監控內存使用,重點關注緩沖池命中率、臨時表使用情況。OPTIMIZE TABLE
整理碎片,更新統計信息以輔助優化器決策。注意:修改配置后需重啟MySQL生效,生產環境建議先在測試環境驗證。
參考來源: