查看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 执行记录功能

set global log_output='TABLE'-- 输出到表

set global log=ON-- 打开所有命令

执行记录功能general_log, 所有语句: 成功和未成功的.

set global log_slow_queries=ON-- 打开慢查询 sql 记录

slow_log, 执行成功的: 慢查询语句和未使用索引的语句

set global long_query_time=0.1-- 慢查询时间限制(秒)

set global log_queries_not_using_indexes=ON-- 记录未使用索引的sql 语句

-- 查询sql 执行记录

select * from mysql.slow_log order by 1-- 执行成功的:慢查询语句,和未

使用索引的语句

select * from mysql.general_log order by 1-- 所有语句: 成功和未成功的.-- 关闭sql 执行记


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

原文地址: http://outofmemory.cn/zaji/6111004.html

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

发表评论

登录后才能评论

评论列表(0条)

保存