show Profile
- show Profile是什么?
show Profile是mysql提供的用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优分析
默认情况下该会话开启参数是关闭状态,并且保存最近15次的执行的SQL语句,即最近15次的运行结果 - 分析步骤:
1)查看当前mysql版本是否支持,是否开启:
Show variables like 'profiling';
或者
Show variables like 'profiling%';
2)设置开启:
set profiling = on;
3)运行SQL
4)查看结果:
show profiles;
5)诊断SQL:
show profile cpu,block io for query 6;
参数备注:
日常开发中需要注意的结论:
需要注意执行sql的步骤那一栏(Status)中,如果出现以下几个步骤,将会大程度增加耗时,需要建议优化:
例如:
全局查询日志
全局查询日志就是开启了之后将执行的SQL语句记录到一张mysql的的数据库表中,可以用来记录某段时间执行了那些SQL语句,但是决不允许在生产环境下开启,只在需要的测试环境下使用
1) 配置启用:
在mysql的my.cnf(my.ini)文件中配置(永久生效):
#开启
general_log=1
#记录日志文件
general_log_file=/path/logfile
#输出格式
log_output=FILE
2) 命令启用:
set global general_log=1;
set global log_output='TABLE';
此后,你所编写的sql语句,将会被记录到mysql库里的general_log表,可以用以下命令查看:
select * from mysql.general_log;