Mysql 开启慢查询
# 查询是否开启 mysql 慢查询
- 首先进入到 mysql 命令行模式
mysql -u 用户名 -p
1
- 查看是否开启慢查询功能
show variables like 'slow_query%';
1
+---------------------+-----------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/homestead-slow.log |
+---------------------+-----------------------------------+
1
2
3
4
5
6
2
3
4
5
6
- slow_query_log = off 表示没有开启慢查询
- slow_query_log_file 表示慢查询日志存放的目录
# 开启慢查询和相关设置
- 开启慢查询(及时性重启mysql后失效)
set global slow_query_log=ON;
1
- 设置慢查询日志存放的位置
set global slow_query_log_file='/var/lib/mysql/slow.log';
1
# 设置慢查询时间(超过此值的sql将会记录下来)
- 查询当前的设置的时间(mysql默认10秒)
show variables like 'long_query%';
1
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1
2
3
4
5
2
3
4
5
- 设置慢查询时间
set long_query_time=0.5;
1
- 通常来说一条sql执行时间不应该超过500毫秒, 这个时间已经很慢了
- sql执行50毫秒左右最佳
- 这里要提一下程序执行的时间不止是sql 还需要php代码执行等因素,所以一般来说 get请求100毫秒左右, post请求 200毫秒以内 超过这个时间就需要具体优化了.
上次更新: 2022/08/30, 23:31:20