流苏小筑

MySQL性能分析工具的使用:SHOW PROFILE

MySQL性能分析工具的使用:SHOW PROFILE

show profile 是 MySQL 提供的可以用来分析当前会话中 SQL 都做了什么、执行的资源消耗工具的情 况,可用于 sql 调优的测量。 默认情况下处于关闭状态,并保存最近15次的运行结果。 我们可以在会话级别开启这个功能。

1. 查看profiling状态

show variables like 'profiling';

2. 开启profiling

set profiling = 'ON';

3.查看profiles

执行相关的查询语句。接着看下当前会话都有哪些 profiles,使用下面这条命令:

show profiles;


如果我们想要查看最近一次查询的开销,可以使用:

show profile;

3. show profile的常用查询参数

● ① ALL:显示所有的开销信息。
● ② BLOCK IO:显示块IO开销。
● ③ CONTEXT SWITCHES:上下文切换开销。
● ④ CPU:显示CPU开销信息。
● ⑤ IPC:显示发送和接收开销信息。
● ⑥ MEMORY:显示内存开销信 息。
● ⑦ PAGE FAULTS:显示页面错误开销信息。
● ⑧ SOURCE:显示和Source_function,Source_file, Source_line相关的开销信息。
● ⑨ SWAPS:显示交换次数开销信息。

4. 4 日常开发需注意的结论

● ① converting HEAP to MyISAM: 查询结果太大,内存不够,数据往磁盘上搬了。
● ② Creating tmp table:创建临时表。先拷贝数据到临时表,用完后再删除临时表。
● ③ Copying to tmp table on disk:把内存中临时表复制到磁盘上,警惕!
● ④ locked。
如果在show profile诊断结果中出现了以上4条结果中的任何一条,则sql语句需要优化。
注意: 不过SHOW PROFILE命令将被启用,我们可以从 information_schema 中的 profiling 数据表进行查看

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »