當索引優化觸及瓶頸,需從架構、配置、業務層面綜合施策。本文匯總四大進階優化方向。
[mysqld] # 最大連線數,預設 100,高併發建議 1000+ max_connections = 1000 # 查詢快取(MySQL 5.7 仍可用,8.0 已移除) query_cache_type = 1 query_cache_size = 256M query_cache_limit = 1M # InnoDB 核心參數(見專文詳細說明) innodb_buffer_pool_size = 物理記憶體 50-70% innodb_log_file_size = 1G innodb_flush_log_at_trx_commit = 1 innodb_flush_method = O_DIRECT
單表超過 2000 萬行或 20GB 時,考慮分表:
orders_202301)。MOD(user_id, 1024) 均勻分布。query_cache(5.7)、prepared statement 快取执行计划。優化無終點,只有持續迭代。從配置參數、SQL 改寫、架構分層、快取分級多維度切入,建立監控告警體系,才能穩住核心業務流量。