0
点赞
收藏
分享

微信扫一扫

MySQL 高级知识之 Show Profile

前言

1.分析步骤

默认该功能是关闭的,使用前需提前开启Show Profile功能。

 

2.查询语句

3.通过 Show Profiles查看结果

4.使用 Show Profile对sql语句进行诊断

5.Show Profile的常用查询参数

①ALL:显示所有的开销信息。

②BLOCK IO:显示块IO开销。

③CONTEXT SWITCHES:上下文切换开销。

④CPU:显示CPU开销信息。

⑤IPC:显示发送和接收开销信息。

⑥MEMORY:显示内存开销信息。

⑦PAGE FAULTS:显示页面错误开销信息。

⑧SOURCE:显示和Source_function,Source_file,Source_line相关的开销信息。

⑨SWAPS:显示交换次数开销信息。

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

①Converting  HEAP to MyISAM:查询结果太大,内存不够,数据往磁盘上搬了。

②Creating tmp table:创建临时表。先拷贝数据到临时表,用完后再删除临时表。

③Copying to tmp table on disk:把内存中临时表复制到磁盘上,危险!!!

④locked。

如果在Show Profile诊断结果中出现了以上4条结果中的任何一条,则SQL语句需要优化。

7.注意

1.Show Profile默认是关闭的,并且开启后只存活于当前会话,也就说每次使用前都需要开启。也可修改MYSQL配置文件来修改。

2.通过Show Profiles查看sql语句的耗时时间,然后通过Show Profile命令对耗时时间长的sql语句进行诊断。

3.注意Show Profile诊断结果中出现相关字段的含义,判断是否需要优化SQL语句。

举报

相关推荐

0 条评论