使用Show Profile进行SQL分析

Show Profile是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量。
默认情况下,参数处于关闭状态,并保持最近15次的运行结果。

Show Profile使用确认

1、是否支持,看看当前MySQL版本是否支持
2、 开启功能,默认是关闭,使用前需要开启

show variables like 'profiling';

在这里插入图片描述
如果是off则需要开启:

set profiling = on;

Show Profile使用

在我们执行一系列sql语句后,可以通过下述语句查看

show profiles;

在这里插入图片描述
然后通过下述的语句进行查看分析

show profile cpu,block io for query 1;

在这里插入图片描述
show 后面的参数可以更改用来查看不同的数据,通过show profiles来觉得自己需要查看那个语句。

参数功能
all显示所有的开销信息
block io显示块IO相关开销
cpu显示CPU相关开销信息
ipc显示发送和接收相关开销信息
memory显示内存相关开销信息
page faults显示页面错误相关开销信息

参数注意

  1. converting HEAP to MyISAM查询结果太大,内存都不够用了往磁盘上搬
  2. Creating tmp table 创建临时表
  3. Copying to tmp table on disk 把内存中临时表复制到磁盘,危险
    locked
    show profile cpu,block_io for query 3

全局查询日志

开启命令

set global general_log = 1;

将SQL语句写到表中

set global log_output = 'TABLE';

我们所编写的SQL语句,会记录到MySQL库里的genral_log表,我们可通过下述语句来查看

select * from mysql.general_log;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值