首页 > 编程知识 正文

数据库慢查询日志,sql慢查询日志

时间:2023-05-06 05:56:27 阅读:26676 作者:1981

过了一段时间,mysql中记录的查询可能设置了慢于1秒的SQL语句。 刚才突然想起设置方法,有些参数的名称死活想不起来了,重新整理一下,自己做笔记。

在诊断问题以确定性能瓶颈方面,最容易发现和解决的问题是不需要MYSQL慢速查询和索引的查询。

确定,开始在mysql中查找不会“清爽”执行的SQL语句吧。

=====================================

方法一:使用这个方法。 啊,我喜欢这个即时性。

Mysql5.0和更高版本支持记录执行速度较慢的SQL语句。

mysql show variables like 'long% '; 注:此long_query_time用于定义慢于多少秒的是“慢查询”

-------------请参阅

variable _ name

-------------请参阅

| long_query_time | 10.000000 |

-------------请参阅

1原始插入(0.00 sec )。

mysql set long_query_time=1; 注:我设定了1。 也就是说,执行时间超过1秒的都是滚动查询。

查询确定,0Rowsaffected(0.00sec ) )。

mysql show variables like 'slow% ';

-------------请参阅

variable _ name

-------------请参阅

| slow_launch_time | 2 |

| slow_query_log | ON |注:是否打开日志记录

| slow _ query _ log _ file|/tmp/slow.log |注:设置在哪里

-------------请参阅

3原始安装(0.00 sec ) )。

mysqlsetglobalslow _ query _ log=' on '注:打开日志记录

当slow_query_log变量设置为ON时,mysql立即开始记录。

/etc/my.cnf可以是上述MYSQL全局变量的初始值。

long_query_time=1

sow _ query _ log _ file=/tmp/slow.log

=====================================

方法:mysqldumpslow命令

/path/mysqldumpslow-sc-T10/tmp/slow-log

这将输出记录次数最多的10个SQL语句。 现在,如下所示。

-s表示如何排序,c、t、l、r分别按照记录次数、时间、查询时间、返回的记录数进行排序,ac、at、al、ar表示对应的闪回;

-t表示top n的意思,返回前面的多少条数据;

-g,后可书写正则匹配模式,大小写不敏感;

例如

/path/mysqldumpslow-Sr-T10/tmp/slow-log

返回记录集最多的10个查询。

/path/mysqldumpslow-ST-T10-g“左连接”/tmp/slow-log

得到前10个按时间排序的查询语句,其中包括左连接。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。