mysq 开启慢查询日志

一、mysql的慢查询

           MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

参考链接:https://www.cnblogs.com/saneri/p/6656161.html

二、开启mysql慢查询

1、开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。

首先我们登陆数据库

然后 show variables like 'slow_query%';
在这里插入图片描述
可以看到现在慢查询日志是关着的。

set global slow_query_log='ON'; 

这样我们就开启了慢查询日志

2、然后我们在查一下是否把没有使用索引的sql记录到慢查询日志中

show variables like ’%log%‘;

在这里插入图片描述
我们要把这个未使用索引的查询记录到日志中

set global log_queries_not_using_indexes = on ;

3、下面我们在查看一下记录慢查询的时间

在这里插入图片描述

这个时候记录慢查询是1s 超过1s的慢查询都会被记录

mysql> set global long_query_time=1

这样就把慢慢查询的时间改为1s了

在这里插入图片描述

接下来我们就看看 执行代码会不会被记录

vi /www/wdlinux/mysql-5.5.54/data/iZ7ym4w9zbzqhhZ-slow.log

然后我们就能看见我们执行超过1s的语句就被会记录,然后我们有这些语句就能分析sql 优化我们的代码。

           大家都知道,在分析sql语句性能的时候,我们都会使用explain来分析sql语句的性能,但是如果每个sql都使用explain的话,那开发速度也会有一定的影响。开启mysql的慢查询日志,我们就可以自定义阈值,当sql执行速度慢于阈值的时候,就自动记录下来,对以后的性能优化很有好处。

参考链接:https://www.happyrmb.com/index/article/show/id/51.html

end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

铁柱同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值