MySQL语句执行分析(二)

承接上篇文章继续整理SQL分析mysql

慢查询

开启慢查询,能够设置一个时间阈值,当sSQL执行时间超过阈值,则会被记录。经过这样能够定位到须要优化的SQLsql

查看慢查询命令

mysql> show variables like 'slow_query%';
+---------------------+--------------------------------------+
| Variable_name       | Value                                |
+---------------------+--------------------------------------+
| slow_query_log      | OFF                                  |
| slow_query_log_file | /var/lib/mysql/50aacb0262cd-slow.log |
+---------------------+--------------------------------------+
复制代码
mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
复制代码

参数说明:

slow_query_log :是否开启慢查询 slow_query_log_file :慢查询日志存放位置 long_query_time:设置阈值,超过该值才会作记录post

设置步骤

开启慢查询优化

set global slow_query_log='ON';
复制代码

设置存放日志位置spa

set global slow_query_log_file='/var/lib/mysql/slow.log ';
复制代码

设置超时时间日志

set global long_query_time=1;
复制代码

日志效果

  • 首先我执行一句SQL
    mysql> select sleep(3);
    +----------+
    | sleep(3) |
    +----------+
    |        0 |
    +----------+
    1 row in set (3.00 sec)
    复制代码
  • 查看日志记录
    能够查看到涉及到超过1S的SQL详情
相关文章
相关标签/搜索