承接上篇文章继续整理SQL分析
慢查询
开启慢查询,可以设置一个时间阈值,当sSQL执行时间超过阈值,则会被记录。通过这样可以定位到需要优化的SQL
查看慢查询命令
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:设置阈值,超过该值才会做记录
设置步骤
开启慢查询
set global slow_query_log='ON';
复制代码
设置存放日志位置
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详情