2026-09-28 来自北京市
MySQL慢查询日志的配置与诊断方法 慢查询日志用于记录执行时间超过预设阈值的SQL语句
命中率计算公式为:Qcache_hits / (Qcache_hits + Qcache_inserts) × 100%
检查与开启查询缓存 首先确认当前MySQL是否支持查询缓存
可通过以下SQL语句查看状态: SHOW VARIABLES LIKE 'have_query_cache'; 若值为YES,则表示支持
常见的优化手段包括: 为WHERE、ORDER BY、JOIN涉及的字段添加合适索引
需要注意,过大的缓存反而会引发内存竞争和缓存碎片,建议初始值设为64MB,后续通过命中率监控逐步调整
此时可适当增加query_cache_size,或检查是否存在大量非重复的非静态查询(如包含NOW()、RAND()等函数的语句),这类查询不适合缓存
ini配置文件中设置: query_cache_size :设置缓存内存大小,一般建议设置为64MB到256MB之间,根据服务器可用内存调整
slow_query_log_file :指定日志文件路径
建议定期轮转日志,或设置 expire_logs_days 自动清理