查询是否开启 mysql 慢查询

  1. 首先进入到 mysql 命令行模式
mysql -u 用户名 -p 
  1. 查看是否开启慢查询功能
 show variables like 'slow_query%';
+---------------------+-----------------------------------+
| Variable_name       | Value                             |
+---------------------+-----------------------------------+
| slow_query_log      | OFF                                |
| slow_query_log_file | /var/lib/mysql/homestead-slow.log |
+---------------------+-----------------------------------+
  • slow_query_log = off 表示没有开启慢查询
  • slow_query_log_file 表示慢查询日志存放的目录

开启慢查询和相关设置

  1. 开启慢查询(及时性重启mysql后失效)
set global slow_query_log=ON;
  1. 设置慢查询日志存放的位置
set global slow_query_log_file='/var/lib/mysql/slow.log';

设置慢查询时间(超过此值的sql将会记录下来)

  1. 查询当前的设置的时间(mysql默认10秒)
show variables like 'long_query%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
  1. 设置慢查询时间
set long_query_time=0.5;
  • 通常来说一条sql执行时间不应该超过500毫秒, 这个时间已经很慢了
  • sql执行50毫秒左右最佳
  • 这里要提一下程序执行的时间不止是sql 还需要php代码执行等因素,所以一般来说 get请求100毫秒左右, post请求 200毫秒以内 超过这个时间就需要具体优化了.

标签: Mysql

添加新评论