show profile结合慢查询查找问题
步骤
- 1.慢查询的开启并捕获
- 2.explain+慢SQL分析
- 3.show profile查询SQL在MySQL服务器里面的执行细节
- 4.SQL数据库服务器的参数调优
慢查询日志
- 记录响应时间超过阈值的SQL
- long_query_time 默认是大于10秒
- 开启long_query_log
- 设置long_query_log_file路径
- show global status like ‘slow_queries’
Show Profile进行SQL分析
- show variables like ‘profiling’;
- set profiling=1;
- show profiles;
- show profile cpu,block io for query 1;
分类
- all:显示所有的开销信息
- block io:显示块IO相关开销
- cpu:显示CPU相关开销信息
- ipc:显示发送和接收相关开销信息
- memory:显示内存相关开销信息
- page faults:显示页面错误相关开销信息
全局查询日志
- set global general_log=1:开始全局查询日志
- set global log_output =‘TABLE’:将SQL语句写到表中
- select * from mysql.general_log:所编写的SQL语句会被记录到MySQL库里的general_log表