1.什么是慢查询日志?

慢查询日志是MySQL提供的一种日志记录,用来记录响应时间超过阀值的SQL语句。
如果某条SQL语句运行时间超过long_query_time设定的值,就会被记录到慢查询日志中。
long_query_time的默认值为 10(10秒)
由他来查看哪些SQL超出了我们的最大忍耐时间值,
比如一条sql执行超过5秒钟,我们就算慢SQL,希望能 收集超过5秒的sql,结合之前explain进行全面分析

2.如何使用

默认情况下,MySQL 数据库没有开启慢查询日志,需要我们手动来设置这个参数

如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会将SQL语句写入日志,因此或多或少带来一定的性能影响。

SQL语句 说明

命令 详细解释
SHOW VARIABLES LIKE ‘%slow_query_log%’ 查看慢查询日志是否开启(默认OFF)
set global slow_query_log=1 开启慢查询日志
set global slow_query_log=0 关闭慢查询日志
SHOW VARIABLES LIKE ‘long_query_time%’ 查看慢查询设定阈值(默认10秒)
set long_query_time=5 设定慢查询阈值为5秒 (单位:秒 )


注意:

set global slow_query_log=1开启慢查询日志,仅对当前数据库生效,MySQL重启后失效。

如果需要永久生效,则需要修改my.ini配置文件,在[mysqld]下增加 slow_query_log = 1、slow_query_log_file = mysql路径下\data\layman-slow.log、long_query_time = 5和log_output = FILE(和数据库查询的一致)

永久生效

[mysqld]
#开启慢查询
slow_query_log = 1
#设置日志路径
slow_query_log_file = mysql路径下\data\layman-slow.log
#设置慢查询阈值为5秒
long_query_time = 5
log_output = FILE

3.日志分析工具

生产环境中手工查找,分析日志,非常的耗费时间,因此MySQL提供了日志分析工具mysqldumpslow

帮助信息

--获取返回集最多的10条SQL
mysqldumpslow -s r -t 10mysql路径下\data\layman-slow.log
--获取访问次数最多的10条SQL
mysqldumpslow -s c -t 10 mysql路径下\data\layman-slow.log
--获取按时间排序的前10条含有LEFT JOIN的SQL语句
mysqldumpslow -s t -t 10 -g "LEFT JOIN" mysql路径下\data\layman-slow.log
--结合|more使用,否则有可能会爆屏
mysqldumpslow -s r -t 10 mysql路径下\data\layman-slow.log |more


附加
慢查询肯定需要大量数据做测试,但是我们又不能一条一条的手动添加,所以我们可以借助mysql里的函数和存储过程批量添加数据。

函数和存储过程


创建随机字符串函数



创建存储过程,调用上面的字符串随机函数,插入员工表

创建存储过程,调用上面的字符串随机函数,插入部门表




添加50万数据


数据添加完成。

Mysql之慢查询日志详解相关推荐

  1. MySQL日志文件之错误日志和慢查询日志详解

    今天天气又开始变得很热了,虽然很热很浮躁,但是不能不学习,我在北京向各位问好.今天给大家分享一点关于数据库日志方面的东西,因为日志不仅讨厌而且还很重要,在开发中时常免不了与它的亲密接触,就在前几天公司 ...

  2. MySQL慢查询日志详解

    本次代码执行环境的mysql版本是 :5.6.37-log 1.慢查询日志概念(也叫慢日志):在 MySQL 中执行时间超过指定时间的 SQL 语句 2.常见的几个相关的变量 (可以直接去mysql下 ...

  3. 【MySql进阶】undo日志详解:undo日志结构、undo日志链表、回滚段、undo log原理

    undo日志 本文为阅读<MySql是怎样运行的>的笔记,供大家参考. 文章目录 undo日志 概述 undo日志数据结构 insert 对应的undo log delete 对应的und ...

  4. MySQL联表查询【详解】

    文章目录 MySQL连接查询及原理 1.本文内容 2.准备数据 3.笛卡尔积 sql中笛卡尔积语法 4.内连接 示例1:有连接条件 示例2:无连接条件 示例3:组合条件进行查询 总结 5.外连接 左连 ...

  5. hibernate(七) hibernate中查询方式详解

    序言 之前对hibernate中的查询总是搞混淆,不明白里面具体有哪些东西.就是因为缺少总结.在看这篇文章之前,你应该知道的是数据库的一些查询操作,多表查询等,如果不明白,可以先去看一下 MySQL数 ...

  6. MySQL管理之日志详解

    MySQL日志详解 错误日志 MySQL的错误信息是在data目录下的 错误日志本身所定义的内容本身是可以定义的 编辑配置文件,定义错误日志: log-error=/path/to/xx.err   ...

  7. mysql慢查询的使用_mysql慢查询使用详解

    1 慢查询定义指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句.慢查询日志就是记录这些sql的日志. 2 开启慢查询日志 找到mysql配置文件my.cnf.在 ...

  8. mysql slow log损坏_06 : mysql 的 binlog 日志 和slow慢日志 详解

    mysql 的 binlog 日志 和slow慢日志 详解 mysql一般常用的日志有三种: 1:error错误日志 2: binlog日志 3:slow日志 下面将详细解释这三种日志: 1.错误日志 ...

  9. mysql嵌套查询详解_MySQL嵌套查询实例详解

    本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...

最新文章

  1. 花卉世界大观园和杂技之游
  2. ftp connect: No route to host 解决过程
  3. KafKa集群安装、配置
  4. 关于Linux路由表的route命令(转)
  5. 别让双手闲下来,来做一些练手项目吧
  6. Gnuplot 简单使用
  7. flutter text 自动换行_Flutter 系列博客——05 StatelessWidget vs StatefulWidget
  8. 面试题 17.09. 第 k 个数
  9. xp sp3 java_windows xp sp3简体中文正式版官网下载
  10. Oracle官网下载速度慢
  11. 一文系统搞懂协同推荐算法(二)
  12. 鸿蒙断更术辰东,唐家三少说出《圣墟》断更真相,这次不怪辰东,网文将大范围断更...
  13. 怎么用php做小游戏_php实现贪吃蛇小游戏
  14. 深入分析C#中的异步和多线程
  15. hello.s:15: 错误: junk at end of line, first unrecognized character valued 0x8 的解决方法
  16. 【man】getsockopt 和 setsockopt
  17. Ubuntu 16.04 解决钉钉、微信等打开chrome时无法打开链接,只能停留在主页的问题
  18. Tree Map:树状图——绘制COVID-19阵列图
  19. TabbedProperties实现
  20. 录屏有声音吗?电脑如何录屏有声音?图文教程来了!

热门文章

  1. centos6.5 nginx1.8 php mysql,CentOS6.5 源码安装Nginx1.8 + PHP7.0.6 + MySQL5.7.12
  2. CentOS下Redis 2.2.14安装配置详解
  3. vue实现部分页面导入底部 vue配置公用头部、底部,可控制显示隐藏
  4. spring的整体架构分析一
  5. Visual Studio Code 使用指南
  6. windows 创建不可见账户
  7. java 中JFinal getModel方法和数据库使用出现问题解决办法
  8. dubbo学习总结三 消费端
  9. QT调用百度语音REST API实现语音合成
  10. CodeBlocks使用第三方库(以使用pcre库为例)