msyql慢查询概念

MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句,也就是运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中
long_query_time的默认值为10
默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。
当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。

慢查询开启
  1. mysql> show variables like '%slow_query_log%';
  2. +---------------------+-----------------------------------------------+
  3. | Variable_name | Value |
  4. +---------------------+-----------------------------------------------+
  5. | slow_query_log | OFF |
  6. | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
  7. +---------------------+-----------------------------------------------+
  8. 2 rows in set (0.00 sec)
  9. mysql> set global slow_query_log=1;
  10. Query OK, 0 rows affected (0.09 sec)

使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。
如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)。
my.cnf要增加或修改参数slow_query_logslow_query_log_file,如下所示

  1. 1.slow_query_log = 1
  2. slow_query_log_file = /tmp/mysql_slow.log