当前位置:网站首页>Mysql查看慢查询日志
Mysql查看慢查询日志
2022-08-02 21:51:00 【模糊化的】
我们在工作中经常会遇到执行很慢的sql语句,今天我们来看一下慢查询日志
查看通用日志
show variables like ‘%general%’;
默认通用日志是关闭的,
开启通用日志查询: set global general_log=on;
关闭通用日志查询: set global general_log=off;
查看当前慢查询日志输出的格式,可以是FILE(存储在数数据库的数据文件中的hostname.log),也可以是TABLE(存储在数据库中的mysql.general_log)
show variables like ‘%log_output%’
设置通用日志输出为表方式: set global log_output=’TABLE’;
设置通用日志输出为文件方式: set global log_output=’FILE’;
如果想永久生效,需要在my.ini中配置
general_log=1 #为1表示开启通用日志查询,值为0表示关闭通用日志查询
log_output=FILE,TABLE#设置通用日志的输出格式为文件和表
mysql慢查询日志是mysql提供记录的一种日志记录,用来记录mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time的sql值的sql则会被记录到慢查询日志中,日志可以写在表中也可以写在文件中,如果性能要求比较高的话,建议写在文件里,默认情况下MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。
问题:如何查看当前慢查询日志的开启情况?
show variables like ‘%quer%’;

主要关注的参数:
1.slow_query_log 慢查询日志是否开启,默认为off
开启慢查询日志set global slow_query_log=‘ON’,
想要永久有效需要在my.ini中配置 slow_query_log = ON
2.slow_query_log_file的值是记录的慢查询日志到文件中(注意:默认名为主机名.log,慢查询日志是否写入指定文件中,需要指定慢查询的输出日志格式为文件,相关命令为:show variables like ‘%log_output%’;去查看输出的格式)。
(3)long_query_time指定了慢查询的阈值,即如果执行语句的时间超过该阈值则为慢查询语句,默认值为10秒。
可以在my.ini中设置指定慢查询的阈值, long_query_time = 阈值
(4)log_queries_not_using_indexes如果值设置为ON,则会记录所有没有利用索引的查询(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON),一般在性能调优的时候会暂时开启。
过命令:show variables like ‘%log_output%’;
通通过log_output的值可以查看到输出的格式,上面的值为TABLE。当然,我们也可以设置输出的格式为文本,或者同时记录文本和数据库表中,设置的命令如下:
#慢查询日志输出到表中(即mysql.slow_log)
set globallog_output=’TABLE’;
#慢查询日志仅输出到文本中(即:slow_query_log_file指定的文件)
set global log_output=’FILE’;
设置 slow_query_log_file输出位置
setslow_query_log_file = ‘路径.log’
#慢查询日志同时输出到文本和表中
set global log_output=’FILE,TABLE’;
表格式

文件格式

可以看到,不管是表还是文件,都具体记录了:是那条语句导致慢查询(sql_text),该慢查询语句的查询时间(query_time),锁表时间(Lock_time),以及扫描过的行数(rows_examined)等信息。
那我们如何查看慢查询的个数呢?
在MySQL中有一个变量专门记录当前慢查询语句的个数:
输入命令:show global status like ‘%slow%’;
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Task 4 Machine Learning Library Scikit-learn
- gdb调试简要总结
- 【学习笔记】博弈论
- win10桌面图标全部变成白色的怎么办
- 【Unity】Unity开发进阶(六)UnityEvent使用与源码解析
- win10安全中心设置不扫描某个文件夹的方法
- SRv6网络演进面临的挑战
- You and I will meet the needs of: how to export the data in a MySQL simple ~!Practical!
- IP Protocol (Internet Protocol)
- If the watermark according to how to realize the function
猜你喜欢

最近公共祖先(LCA)学习笔记 | P3379 【模板】最近公共祖先(LCA)题解

饥荒联机版Mod开发——制作简单的物品(三)

典型相关分析CCA计算过程

【TypeScript】深入学习TypeScript模块化

Flink优化的方方面面

The only way to go from a monthly salary of 10k to 30k: automated testing

Ruoyi integrates minio to realize distributed file storage

【c】操作符详解(一)

浅读一下dotenv的主干逻辑的源码

The interviewer asked me: delete library, in addition to run do?
随机推荐
RuoYi-App启动教程
Yocto系列讲解[实战篇]85 - 制作ubi镜像和自动挂载ubifs文件系统
[Dry goods] Best practice of sub-library and sub-table
What is the core business model of the "advertising e-commerce" that has recently become popular in the circle of friends, and is the advertising revenue really reliable?
Software testing pen questions 1 (with answers)
饥荒联机版Mod开发——制作简单的物品(三)
ZCMU--5230: 排练方阵(C语言)
典型相关分析CCA计算过程
一个很少见但很有用的SQL功能
谷粒商城-day14-商城业务与压力测试
如何通过 IDEA 数据库管理工具连接 TDengine?
CodeTON Round 2 A - D
Flink-SQL
四、字符常量 & 字符串
【TypeScript】深入学习TypeScript模块化
GameStop NFT 市场分析
Task 4 Machine Learning Library Scikit-learn
JS函数防抖&函数节流及其使用场景
Teach you how to kill if else
Jmeter二次开发实现rsa加密