MySQL慢查询日志详解
大家好,又见面了,我是你们的朋友全栈君。
本次代码执行环境的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
③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语句
注意:由于我测试环境的mysql版本较低,没有log_timestamps这个参数,在高版本的sql中,如果 log_timestamps 参数为 UTC ,则改时间会显示 UTC 时区时间
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182921.html原文链接:https://javaforall.cn
相关文章
- 深入MySQL:时间字符串比较详解(mysql时间字符串比较)
- MySQL增加表字段的正确语句(mysql表加字段语句)
- 如何使用MySQL查询数据(mysql怎么查数据)
- MySQL集群:实现高可用性和高性能(mysql集群是什么意思)
- 轻松修改MySQL的密码(如何修改mysql的密码)
- MySQL知识:将数据库学习变得简单(mysql知识)
- MySQL语句及函数使用指南(mysql语句函数)
- MySQL处理二进制数据的方法(mysql二进制数据)
- 开启MySQL事务:踏上一段新的旅程(mysql开始事务)
- MySQL列详解,让你在数据库存储和查询中更加灵活高效!(mysql列)
- MySQL查询中的排序规则详解(mysql查询排序规则)
- MySQL实现好友关系管理(mysql好友关系)
- 告警MySQL 慢日志告警:谁在拖累系统?(mysql慢日志)
- MySQL中使用联合主键的实践经验(mysql的联合主键)
- MySQL主从复制的工作原理详解(mysql的主从原理)
- MySQL中YEAR的用法详解(mysql中year用法)
- MySQL中left函数详解(mysql中left函数)
- MySQL中desc的作用详解(mysql中desc作用)
- MySQL数据库中的删除操作详解(mysql中deleat)
- 分析CDH与MySQL日志分析挖掘隐藏信息(cdh mysql日志)
- APP开发中MySQL至关重要(app开发要mysql)
- MySQL 32位版本助力企业数据分析实现前所未有进展(32位mysql版本)
- MySQL中如何创建表格(mysql中 创表)
- 不导出MySQL主键如何正确备份数据(mysql 不导出主键)
- MySQL 驱动程序下载详解(mysql下载驱动程序)
- MySQL安装指南源码安装步骤详解(mysql下源码安装)
- MySQL文件恢复方法详解(MySQl下好了是文件)
- MySQL上机操作流程详解从安装到数据导入,一步步教你如何使用MySQL(mysql上机操作流程)