MySQL慢查询日志详解

MySQL慢查询日志详解本次代码执行环境的mysql版本是:5.6.37-log1.慢查询日志概念(也叫慢日志):在MySQL中执行时间超过指定时间的SQL语句2.常见的几个相关的变量(可以直接去mysql下的配置文件my.cnf文件中去改,我下面是直接在SQLyog中进行操作)默认情况下慢查询日志是关闭的,这里我开起来了①slow_query_log②slow_query_log_file用下面的代码可以查一下慢查询日志是否开启以及慢日志的位置SHOWVARIABLESLIKE’%slow_que

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本次代码执行环境的mysql版本是 :5.6.37-log

1.慢查询日志概念(也叫慢日志):在 MySQL 中执行时间超过指定时间的 SQL 语句

2.常见的几个相关的变量

(可以直接去mysql下的配置文件my.cnf文件中去改,我下面是直接在SQLyog中进行操作)

默认情况下慢查询日志是关闭的,这里我开起来了

①slow_query_log

②slow_query_log_file

用下面的代码可以查一下慢查询日志是否开启以及慢日志的位置

SHOW VARIABLES LIKE '%slow_query_log%';

开启慢查询日志:0表示关闭,1表示开启(下面的几个属性同理)

SET GLOBAL slow_query_log =1

img
③long_query_time:慢查询的时间阙值,默认是10s (如果在云服务器上跑的时候最好查一下是不是10s)

在刚修改的时候可能会不生效,要断开当前会话再连一次数据库就好了

SHOW VARIABLES LIKE 'long_query_time';

④log_output:慢查询日志输出目标,默认为file,即输出到文件。

⑤log_timestamps:主要是控制 error log、slow log、genera log 日志文件中的显示时区,默认使用UTC时区,建议改为 SYSTEM 系统时区。

⑥log_queries_not_using_indexes:是否记录所有未使用索引的查询语句,默认为off。

注:在实际环境下,不建议开启 log_queries_not_using_indexes 参数,此参数打开后可能导致慢日志迅速增长。

⑦min_examined_row_limit:对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中,默认为0。

⑧log_slow_admin_statements:慢管理语句是否写入慢日志中,管理语句包含 alter table、create index 等,默认为 off 即不写入。

这些属性可以直接在my.cnf文件中修改,默认配置文件在mysql文件夹下

测试过程:

放了方便测试,我把超时时间改成了0.01s,查询的sql语句为:

select * from book1 limit 0,2000

日志中的结果入下图,其中第一行是代码执行时间;

第二行为ip地址;

第三行分别是①查询执行时间,②获取锁的时间,③返回的行数,④查询遍历扫描的行数,这里因为sql没有条件限制所以相等;

第四行就是mysql查询时间的时间戳(直接看Time也是一样的)

第五行是慢查询的sql语句

img

注意:由于我测试环境的mysql版本较低,没有log_timestamps这个参数,在高版本的sql中,如果 log_timestamps 参数为 UTC ,则改时间会显示 UTC 时区时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182921.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月12日 上午8:00
下一篇 2022年10月12日 上午8:00


相关推荐

  • 360天擎卸载密码忘记了_天擎关闭密码

    360天擎卸载密码忘记了_天擎关闭密码前言MySQL8相比之前版本改动还是挺大的,因为刚从安装接触,就先从基本的说起。现在的mysql8安装只能采用解压配置版,像以前老版本的傻瓜式安装将不复存在。注意点MySQL8之后并不需要my.ini,会自动的生成data文件夹在解压之后的文件,端口默认3306,。若有这个文件,则初始化mysql不成功。自己若新建并设置了my.ini文件,有data文件的话,在初始化之前要删除。然后再初始化在初…

    2026年3月8日
    4
  • executeupdate mysql_sql语句executeQuery和executeUpdate之间的区别

    executeupdate mysql_sql语句executeQuery和executeUpdate之间的区别方法一.executeQuery用于产生单个结果集(ResultSet)的语句,例如SELECT语句。被使用最多的执行SQL语句的方法。这个方法被用来执行SELECT语句,它几乎是使用最多的SQL语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。如://加载数据库驱动Class.forName(“com.mysql.jdbc.Driver”);//使用D…

    2022年10月20日
    4
  • DHCP Option 60 的理解

    DHCP Option 60 的理解

    2021年11月28日
    46
  • python 实现发送邮件功能

    python 实现发送邮件功能一 前言在开始正题之前 我们先理一下常见的电子邮件协议 SMTP POP IMAP 都遵循 TCP IP 协议规范 至于 Exchange 是邮件服务器 不是收邮件和发邮件的协议 不要混淆概念 一般情况下不用 因为它是微软的产品 SMTP 即简单邮件传输协议 它是一组用于由源地址到目的地址传送邮件的规则 由它来控制信件的中转方式 简单来说是发送协议 POP 协议允许电子邮件客户端下载服务器上的邮件 但是在客户端的操作 如移动邮件 标记已读等 不会反馈到服务器上 属于收件协议

    2026年3月17日
    1
  • mysql数据库设计工具_四种优秀的数据库设计工具

    mysql数据库设计工具_四种优秀的数据库设计工具【51CTO.com快译】众所周知,良好的数据库设计能够大幅减少后期的运维工作,同时也能最大程度地减少软件项目出错的可能。由于我们所面临的真实项目需求往往五花八门,因此需要找到合适的设计工具,来实现事半功倍的效果。本文将从如下四个方面和您一起比较四种优秀数据库设计工具的各自优缺点。用户界面可支持的数据库数据工具售价1.DbSchemaDbSchema是一种可用于复杂数据库设计和管理的可视化工具。该…

    2022年7月11日
    24
  • ip地址切换器如何切换电脑或者手机上网ip使用教程

    ip地址切换器如何切换电脑或者手机上网ip使用教程简述 ET 代理是一款换 ip 软件 IP 覆盖国内 200 多个城市 每天更新 60 多万动态 IP 静态 ip 高达 1400 多条 支持动态线路和静态线路使用 软件无需设置千万 ip 任意切换 软件支持电脑 安卓手机 苹果手机等设备使用 支持 l2tp pptp 连接 ET 代理换 IP 软件如何使用一 下载 ET 代理换 IP 软件 ET 代理换 ip 软件目前支持 Windows 电脑客户端下载 Android 安卓客户端下载 ios

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号