Mysql 之 Show profile和查询日志

        当我们在优化sql的时候可以使用explain来查看执行计划,可当根据执行计划优化完毕之后我们的sql的运行时间还是比较长,这时怎么办?

         更细粒度的分析,show-profile,可以提高用来分析当前会话中语句执行的资源消耗情况,可以用于sql调优的测量.

         官网地址 show_profile

        默认情况下,处于关闭状态

        查看状态

SHOW VARIABLES LIKE 'profiling';

   开启命令,(仅对当前数据库有效)

SHOW VARIABLES LIKE 'profiling';
SET profiling=ON;/**也可以使用SET profiling = 1;/
SHOW VARIABLES LIKE 'profiling';

   开启之后执行sql,并人为制造一条慢sql

SELECT * FROM sys_job_running_infos LIMIT 10;
SELECT * FROM sys_job_running_infos GROUP BY JOB_RUNNING_INFO_ID%10 LIMIT 15;

查看结果;

SHOW PROFILES;
show profile;/**默认显示最近的一条/

扫描二维码关注公众号,回复: 2278788 查看本文章

诊断sql,show profile cpu,block io for query 上一步前面的SQL数字号码;

type可以指定 可选值以显示特定的其他类型的信息:

  • ALL 显示所有信息

  • BLOCK IO 显示块输入和输出操作的计数

  • CONTEXT SWITCHES 显示自愿和非自愿上下文切换的计数

  • CPU 显示用户和系统CPU使用时间

  • IPC 显示发送和接收的消息的计数

  • MEMORY 目前尚未实施

  • PAGE FAULTS 显示主要和次要页面错误的计数

  • SOURCE 显示源代码中的函数名称,以及函数发生的文件的名称和行号

  • SWAPS 显示交换计数

一条sql完整的查询明细计划,下面是我们的那条慢sql的执行

很明显比第一条sql多了几步操作,如创建临时表删除临时表等,最消耗的时间的地方是Sending data;

“Sending data”并不是单纯的发送数据,而是包括“收集 + 发送 数据”.

备注

  • QUERY_ID 是一个数字语句标识符。

  • SEQ是一个序列号,表示具有相同QUERY_ID值的行的显示顺序 。

  • STATE 是行测量适用的分析状态。

  • DURATION 表示语句执行在给定状态下保持多长时间(以秒为单位)。

  • CPU_USERCPU_SYSTEM 指示用户和系统CPU的使用,以秒为单位。

  • CONTEXT_VOLUNTARY并 CONTEXT_INVOLUNTARY指出发生了多少自愿和非自愿的上下文切换。

  • BLOCK_OPS_IN并 BLOCK_OPS_OUT指示块输入和输出操作的数量。

  • MESSAGES_SENT并 MESSAGES_RECEIVED指出发送和接收的通信消息的数量。

  • PAGE_FAULTS_MAJOR并 PAGE_FAULTS_MINOR指出主要和次要页面错误的数量。

  • SWAPS 表示发生了多少次掉期。

  • SOURCE_FUNCTION, SOURCE_FILE并 SOURCE_LINE提供指示配置文件状态在源代码中的位置执行的信息。

       结论:

  1.  convering HEAP to MYISAM: 查询结果太大,内存都不够用了往磁盘上搬了
  2.  Createing tmp table:  拷贝数据至临时表,用完还要删除
  3.  Copying to temp table on dsk:把内存中临时表复制到磁盘,危险!
  4.  locked   锁。。。

查询日志(默认关闭)

show variables like '%general_log%';

打开并设置写入表中

SET GLOBAL general_log=1;/**查询日志打开**/

SET GLOBAL log_output='TABLE';/**日志写入表中**/
SHOW VARIABLES LIKE 'log_output';/**显示写入方式**/

MySQL的查询日志记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行,因此切记在生产库中切记不要打开这个功能.

猜你喜欢

转载自blog.csdn.net/yjaspire/article/details/81108321
今日推荐