Show Profile进行sql分析

来源:互联网 发布:日本人的气质 知乎 编辑:程序博客网 时间:2024/06/02 02:44

Show Profile进行sql分析

一.Show Profile是什么

是mysql提供的用来分析当前会话中sql执行的资源消耗情况,比explain粒度更细的sql调优手段。

二.查看该参数是否开启以及如何开启

1.查看该参数是否开启

show  VARIABLES like 'profiling';

这里写图片描述

2.开启
默认是关闭的,现在开启。

set profiling = 1;

这里写图片描述

三.sql分析

1.在数据库中运行一些sql
2.查看这些sql运行状况

show PROFILES;

这里写图片描述
3.具体sql的细化分析

show profile cpu,block io for query 10;

这里写图片描述

query_id为10的查询语句的完整的执行过程我们都能够看到,就可以具体分析如果sql执行过慢到底是什么原因导致的。

四.sql执行完整过程中可能出现的问题

1.converting HEAP to MyISAM
查询结果太大,内存不够往磁盘上搬。
2.Creating tmp table
创建了临时表
3.Coping to tmp table on disk
把内存中临时表复制到磁盘
4.locked
加锁