show profile 分析性能

show profiles 是mysql 5.0.37版本后添加的功能,使用之前必须保证本机mysql版本高于5.0.37.

1.查看mysq版本的方法

mysql>show version()

2.开启 show profile

show profile 在mysql中默认是关闭的,(但是会话级别可以开启这个功能)使用之前应该先开启show profile。开启show profile 可以让mysql收集在执行语句时所使用的资源。

先查看profiling 是否开启,如果没有开启执行下面的语句。

mysql>show variables like 'profiling%'

mysql>set profiling = 1

3.查看sql性能

使用show profiles 查看sql性能之前需要先执行待分析的sql。

sql执行完成后,这个执行语句的剖析信息就会存储到这个会话中,紧接着使用show profile就可进行查看。

mysql>show profile

查询结果中每一行都是一个状态变化的过程和它持续的时长。

show profile 会将最近执行的一条sql 信息查询出来,如果想查看最近执行的多条sql的信息可以使用show profiles;

mysql>show profiles

show profiles 执行结束后会将最近发送给服务器的多条sql执行情况列举出来,想要具体分析其中的一条sql信息可以使用

mysql>show profile for query query_id

注意:show profiles 列举出来的记录条数根据mysql中的会话变量profiling_history_size 值来决定,默认是15条,最大可以设置成为100,当把该值设置成 0时,表示不使用该功能。

4.查看sql执行时其他方面的性能问题,如cpu、io等

type是可选的,取值范围可以如下:

  • ALL 显示所有性能信息
  • BLOCK IO 显示块IO操作的次数
  • CONTEXT SWITCHES 显示上下文切换次数,不管是主动还是被动
  • CPU 显示用户CPU时间、系统CPU时间
  • IPC 显示发送和接收的消息数量
  • MEMORY [暂未实现]
  • PAGE FAULTS 显示页错误数量
  • SOURCE 显示源码中的函数名称与位置
  • SWAPS 显示SWAP的次数

mysql>show profile cpu

mysql>show profile cpu for query 2


版权声明:本文为shaoyp1234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>