一,是什么

image.png

二,怎么玩

1,说明

默认情况,MySql数据库没有开启慢查询日志,需要我手动来设置这个参数。
当然如果不需要优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件。

2,查看是否开启

1,默认:SHOW VARIABLES LIKE '%slow_query_log%'
image.png
2,开启:set global slow_query_log = 1
image.png
3,那么开启慢查询日志后,什么样的SQL参会记录到慢查询里面?
image.png

3,Case

1,查看当前多少秒算慢
SHOW VARIABLES LIKE 'long_query_time%';
2,设置慢的阙值时间
set global long_query_time=3;
3,为什么设置后看不出变化?

需要重新连接或者新开一个回话才能看到修改值。
SHOW VARIABLES LIKE 'long_query_time%';
show global variables like 'long_query_time';
4,记录慢SQL并后续分析
image.png
4,查询当前系统中有多少条慢查询记录
show global status like '%Slow_queries%'
image.png

4,配置版

mysqlid 配置

  1. slow_query_log=1
  2. slow_query_log_file=/var/lib/mysql/atguigu-slow.log
  3. long_query_time=3
  4. log_output=FILE

三,日志分析工具

1,日志分析工具MySqlDumpShow

mysqldumpslow

  • s:是表示按何种方式排序
  • c:访问次数
  • l:锁定时间
  • r:返回记录
  • t:查询时间
  • al:平均锁定时间
  • ar:平均返回记录数
  • at:平均查询时间
  • t:即为返回前面多少条的数据
  • g:后边搭配一个正则匹配模式,大小写不敏感的

    2,工作常用参考

    image.png