1.是什么:
是mysql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量
show profile 查询SQL在MySQL服务器里面的执行细节和生命周期情况
2.默认情况下,参数处于关闭状态,并保存最近15次的运行结果
3.分析步骤
1.是否支持:看看当前mysql版本是否支持
2.开启功能:默认是关闭的,使用前需开启 set profiling = on
3.运行SQL
4.查看结果 show profiles
5.诊断SQL show profile cpu ,block io for query sql的数字号码(第四部得到的)
显示这条语句的 cpu 的使用,和 io阻塞的情况
6.日常开发需要注意的结论
1.converting heap to mysiam 查询结果太大,内存都不够用往磁盘上搬了
2.creating tmp table 创建临时表 1.拷贝数据到临时表 2.用完再删除
3.copying to tmp table on disk 把内存中临时表复制到磁盘,危险!!
4.locked
全局查询日志(蛮少用的)
永远不要在生产环境下启动(可能是没有上限吧,所有的记录下来,,show profile 默认记录15条)
1.配置启用
2.编码启用
set global general_log = 1;
set global log_output = 'TABLE';
此后,你编写的sql语句,都会记录到mysql库里的general_log 表 使用 select * from mysql.general_log 查看