慢查询表现为“页面加载过慢,接口压测响应的时间过长(超过1s)
方案一:开源工具
运用调试工具:Arthas
运维工具:Prometheus,Skywalking
方案二:mysql自带慢日志查询(主要回答)
在mysql配置文件中添加下面配置
配置完成后通过以下命令重启mysql服务进行测试,查看慢日志文件中记录的信息。
/var/lib/mysql/localhost-slow.log
如果SQL文件执行很慢,应该如何分析呢?
可以通过EXPLAIN/DESC命令去获取MYSQL如何执行SELECT语句的信息
在返回结果中重点关注key,key_len字段检查是否命中了索引,查看type字段查看sql是否还存在进一步优化空间,是否存在全索引扫描或全盘扫描。通过extra建议判断,是否出现了回表的情况,如果出现了,可以尝试添加索引或者修改返回字段来修复。