Show Profile

1.Show Profile默认是关闭的,试用前需要开启:

查看是否开启:

Show variables like 'profiling';

设置开启:

set profiling = on;


2.使用:

Show Profile


show profile cpu,block io for query 150;

3.show profile 的参数:

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

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


Show Profile

Show Profile

4.应注意的结论:

converting HEAP to MyISAM 查询结果太大,内存不够用往磁盘上搬;

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

Copying to tmp table on disk 把内存临时表复制到磁盘,危险。

locked

5.全局查询日志(永远不要在生产环境开启这个功能):

配置方式:

在mysql的my.cnf中,设置如下:

#开启

general_log=1;

#记录日志文件的路径

general_log_file=/path/logfile;

#输出格式

log_output=FILE;


命令的方式:

set general_log=1;

set global log_output='TABLE';

以后编写的sql语句,会记录到mysql库里的general_log表,可以用下面的命令查看:

select * from mysql.general_log;