MySQL怎么查询慢请求

MySQL 可以通过慢查询日志(slow query log)来记录执行时间超过一定阈值的 SQL 语句,以便后续分析优化。下面是查询 MySQL 慢查询的一些方法:

方法一:开启慢查询日志

首先在 MySQL 配置文件 my.cnf 中将以下行的注释去掉:

```
# slow query log file = /var/log/mysql/mysqld-slow.log
```

这表示将慢查询日志输出到 /var/log/mysql/mysqld-slow.log 这个文件中。然后重启 MySQL 服务以使配置生效:

```
$ sudo service mysql restart
```

当配置完成后,MySQL 将会自动记录执行时间超过阈值的 SQL 语句到慢查询日志中,可以通过以下方法查询慢查询日志:

```
$ sudo tail -n 100 /var/log/mysql/mysqld-slow.log
```

这将输出最近的 100 条慢查询日志记录。

方法二:使用 MySQL 自带的慢查询日志分析工具

MySQL 提供了一个名为 mysqldumpslow 的工具,可以用来分析慢查询日志。以下是使用 mysqldumpslow 工具查询慢查询日志的命令行:

```
$ mysqldumpslow -s t /var/log/mysql/mysqld-slow.log
```

其中 -s 表示排序规则,这里 t 表示按照时间 (time) 进行排序。执行命令后,mysqldumpslow 可以将慢查询日志中的 SQL 语句按照执行时间进行排序,同时输出总共执行的次数、时间总和、平均执行时间等信息。

可以根据以上两种方法,查询 MySQL 慢查询语句并进一步分析、优化,提高数据库性能。

posted @ 2023-04-21 19:45  flytoyou  阅读(145)  评论(0)    收藏  举报