MySQL_MySQL查询截取分析之慢查询日志

1.引入

   当我们通过我们编写的sql去操作MySQL数据库的时候,我们会发现由于SQL语句本身的原因,部分的SQL语句的执行会比较慢,从而会导致整个系统的运行不流畅。那么如果说MySQL提供一个功能,专门给我们解决把执行的慢的那一部分语句给标注出来。这样我们解决问题就会更加的快速。那么下面呢,我们就一起来看一下MySQL提供的慢查询日志。

 

2.什么是MySQL的慢查询日志?

   所谓的慢查询日志,就是和其字面意思一样,是MySQL数据库提供的一种日志记录。它主要是用于记录在MySQL中响应时间超过阙值的语句。具体的就是指运行时间超过long_query_time值的SQL。就会被记录到日志中去。long_query_time默认的值大小是10。默认的情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这一个参数。当然,如果不是调优的需要,一般是不建议开启这一个参数。因为开启慢查询日志会占用空间。这样或多或少会带来一定的性能的影响。

 

3.如何查看MySQL的慢查询日志是否开启?

 (1).查看是否开启:

show variables like '%low_query_log%';

查询结果为:

(2).如何开启?

set global slow_query_log = 1;

查看结果:

注意:设置开启慢查询日志仅仅只对当前的操作有效,如果需要永久的生效,可以在配置文件中设置如下参数。但是一般这样的操作是属于运维经理或者是专业的DBA来操作的。

slow_query_log=1
show_query_log_file=C:\ProgramData\MySQL\MySQL Server 5.5\Data\DYHGUJX80GYHV89-slow.log 

4.什么样子的sql才会被记录到慢查询日志文件中呢,如何使用?

   一般慢的定义是有参数long_query_time控制,默认值为10.我们先在命令界面查看其大小以及对应的情况:

show variables like '%long_query_time%';

查询结果为:

也就是说这一个SQL语句执行的时间大于10秒就会被记录到我们指定的文件中去。

一般情况系统在运行的时候一条SQL执行10秒几乎是不可能的。那么我们就需要去调整这一个阈值。

调整使用如下命令:

set global long_query_time = 2;

新开一个会话:再次查看阈值:

5.测试

   由于没有足够大的数据量用来测试。那么我们使用线程的方式来实现延时执行SQL语句:

查看我们的慢查询日志文件中是否已经有记录:

点击查看里面的内容信息:

查看当前的系统中有多少条慢查询记录:(该语句可以当做是系统是否有问题的一个检查标准)

 

6.MySQL数据库日志查询分析工具:mysqldumpslow(略)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔笛手7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值