如果查询到慢查询,如何做优化
慢查询日志
通过MySQL配置文件,my.cnf
[mysqld]
slow_query_log = 1
slow_query_log_file = /path/to/your/log-file
long_query_time = value
slow_query_log 启动慢查询日志
long_query_time = value 设置执行慢查询时间阈值
需要重启MySQL来生效:sudo systemctl restart mysqld
优化慢查询
1. 索引优化:
添加索引:根据explain结果,经常出现在where和join条件的字段添加索引
复合索引:涉及多列组合,采用复合索引
覆盖索引:把数据列作为主键,尽量少回表查询
2. 查询重写:
避免使用select*:列出需要的列
子查询转内连接:采用Join连接,而不是子查询
3. 服务器配置:
调整缓冲池大小,增加innodb缓冲池大小,减小磁盘IO