MySQL的日志

慢查询日志

用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。

慢日志命令

查看日志是否开启:

  • SHOW VARIABLES LIKE ‘%slow_query_log%‘;

开启:

  • set global slow_query_log=1;开启当前数据库的日志

查看sql执行时间:

  • SHOW VARIABLES LIKE ‘long_query_time%‘;

设置sql执行的时间:

  • set global long_query_time=1或者通过set session long_query_time=1来改变当前session变量;

查询当前系统中有多少条慢查询记录

  • show global status like ‘%Slow_queries%‘;

慢日志分析

MySQL的日志

Show Profile

mysql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量。

默认情况下,参数处于关闭状态,并保存最近15次的运行结果

 Show Profile的一些命令

查看是否开启

Show  variables like ‘profiling‘

开启:

set profiling=1;

执行SQL后查看结果:

show profiles;

诊断SQL

show profile cpu,block io for query  n  (n为”show profiles;“数字号码); 

  • ALL                                         --显示所有的开销信息  
  • BLOCK IO                              --显示块IO相关开销
  • CONTEXT SWITCHES          --上下文切换相关开销
  • CPU                                       --显示CPU相关开销信息
  •  IPC                                       --显示发送和接收相关开销信息   
  • MEMORY                        --显示内存相关开销信息
  • PAGE FAULTS                --显示页面错误相关开销信息
  • SOURCE                        --显示和Source_function,Source_file,Source_line相关的开销信息
  •  SWAPS                         --显示交换次数相关开销的信息

全局查询日志

生产环境不要用,在测试环境用

命令
set global general_log=1;开启后会记录你的所有sql

全局日志可以存放到日志文件中,也可以存放到Mysql系统表中。存放到日志中性能更好一些,存储到表中
set global log_output=‘TABLE‘;

你所编写的sql语句,将会记录到mysql库里的general_log表

select * from mysql.general_log;

 

MySQL的日志

上一篇:ionic 中如何使用 swiper 插件


下一篇:微信小程序_uni-app_轮播图组件_swiper