查看MySQL执行语句 资源消耗 show profile

查看MySQL执行语句 资源消耗 show profile,第1张

mysql提供可以用来分析当前会话中语句执行的资源消耗的情况,可以用于SQL的调优的测量

默认情况下,参数处于关闭状态,保存最近15次的运行结果

分析步骤

1、查看当前版本是否支持

show variables like 'profiling'

2、开启功能

set profiling =on

3、运行SQL

4、执行

show profiles

可以看到每条SQL的执行耗时情况

5、诊断SQL

show profile cpu,block io for query [ 查询ID号]

show profile cpu,block io for query 10

ALL   所有的开销信息

BLOCK IO   块IO相关开销

CONTEXT SWITCHES   上下文切换次数开销,被动和主动

CPU   CPU相关开销信息

IPC  发送和接受相关开销信息

MEMORY  内存相关开销信息

PAGE FAULTS   页面错误相关开销信息

SOURCE    Source_function,Source_file,Source_line相关的开销信息

SWAPS  交换次数相关开销的信息

需要注意

concerting HELP to MyISAM  查询结果太大,内存都不够用了往磁盘上搬了

Creating tmp table 创建临时表  拷贝数据到临时表,用完再删除

Copying to tmp table on disk 把内存中临时表复制到磁盘

如果我的理解没错的话,你的意思是正在执行的sql语句吧,

命令:

mysql>show full processlist

示例:

mysql>select sleep(20)

另一个session执行:

mysql>show full processlist

--- 可以看到正在执行的语句 ---

| 183 | root | localhost | NULL | Query| 6 | User sleep| select sleep(20) |

如果你想知道mysql执行的所有以往 sql 语句历史命令,需要配置log

my.ini文件中

log=log路径 比如D:/MySQL/datalog.log

配置后重启mysql服务,然后就可以查看mysql执行的sql语句了,

如果你没开启日志的话,那就没办法


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6110454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存