mysql分析之profile详解(过去用法,但常用),一篇博客

2022-01-25  本文已影响0人  梦想橡皮擦

在正式学习前需要测试当前的 MySQL 版本是否支持 profile ,具体命令如下所示:

select @@have_profiling
1c3a2ad9b06a4730a94bd1764e2e28ae[1].png

使用该命令可以获取一个查询在整个执行过程中各个资源消耗情况,例如 CPU,IO,SWAP……
如果支持还需要查看一下 profile 是否开启,命令如下:

select @@profiling
1a62c1c7a094423da19c62d36d58b2d7[1].png

如果没有开启,可以通过 set profiling = 1 开启该配置。

接下来建造一张百万数据的表,然后执行下述查询。

select * from 表名;

查询一次数据,然后执行 show profiles; ,(该语句用来查看上一条SQL语句的开销信息)

80b2d42397d64ffe9a18b39059b00e4b[1].png

在展示出的 profiles 【剖析】中找到 QueryID ,然后在使用如下命令查看详情。

show profile for query query_id;

例如使用刚刚得到的 QueryID ,即 97 进行查询。

show profile for query 97;
a941b81beed045ceb6e3930f1dae8e23[1].png

如果查询 profiles 的同时查看了 CPU 相关值。

show profile cpu for query 97;

查看 MEMORY 部分的开销,不过这个应该是还没有实现,查询之后并无效果。

show profile memory for query 47

查看 io 部分的开销。

show profile block io for query 3

查看所有参数,使用如下命令:

show profile all for query 41

在未来的版本中 show profiles; 可能不在支持,建议使用 Performance Schema ,具体命令如下所示

select * from information_schema.profiling

接下来重点说明下表内容

4cc8f8b3f9b34208abb4621798472839[1].png

如果学习更多可以借助一下官方手册 show-profile

记录时间

今天是持续写作的第 <font color=red>287</font> / 365 天。
可以<font color=#04a9f4>关注</font>我,<font color=#04a9f4>点赞</font>我、<font color=#04a9f4>评论</font>我、<font color=#04a9f4>收藏</font>我啦。

更多精彩


<kbd>[图片上传失败...(image-37999b-1643069363644)]


mysql分析之profile详解(已过时),一篇博客帮你理解 profile 的用法

</kbd>

<center>
👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇</center>

上一篇 下一篇

猜你喜欢

热点阅读