博客
关于我
mysql开启慢sql,以及查询分析慢sql,查看正在运行的sql
阅读量:404 次
发布时间:2019-03-05

本文共 1503 字,大约阅读时间需要 5 分钟。

开启慢SQL的配置参数

在数据库管理中,了解和优化慢SQL查询是非常重要的。以下是一些常用的MySQL配置参数和操作方法。

1. 开启慢查询日志

在MySQL中,我们可以通过以下方式开启或关闭慢查询日志。

show variables like '%slow_query_log%';set GLOBAL slow_query_log = ON/OFF;

2. 开启执行日志

执行日志可以帮助我们跟踪数据库的操作日志,以下是开启执行日志的方法。

show variables like "general_log%";set GLOBAL general_log = 'ON';

3. 设置长查询时间

长查询时间可以帮助我们识别执行时间过长的SQL查询。

show variables like '%long_query_time%';set long_query_time = 6;

4. 指定慢查询日志文件

我们可以将慢查询日志输出到指定的日志文件中。

show variables like '%slow_query_log_file%';set slow_query_log_file = '/home/admin/mysql/log/slow_sql.log';

5. 输出未使用索引的查询

如果需要输出未使用索引的查询,可以启用以下参数。

show variables like 'log_queries_not_using_indexes';set global log_queries_not_using_indexes = ON/OFF;

6. 指定慢查询日志输出方式

slow_query_log参数可以指定日志输出的方式。

show variables like 'log_output';set GLOBAL log_output = table/FILE;

7. 查看慢查询日志

如果你已经将慢查询日志设置为输出到表或文件,可以通过以下方式查看日志。

select * from mysql.slow_log;

8. 分析慢查询日志

MySQL自带的mysqldumpslow工具可以帮助我们分析慢查询日志。

mysqldumpslow -s t -t 10 -g 'log' /var/lib/mysql/mysql-slow.log

参数说明:

  • -s:指定排序规则。
  • -t:显示前几个记录。
  • -g:使用grep过滤。

常用参数:

  • c:访问计数。
  • l:锁定时间。
  • r:返回记录。
  • t:查询时间。
  • al:平均锁定时间。
  • ar:平均返回记录数。
  • at:平均查询时间。

9. 查看正在运行的SQL

可以通过information_schema系统数据库查看数据库的活跃线程。

select * from information_schema.processlist;

示例:

找出执行时间超过5分钟的线程。

select concat('kill ', id, ';') from information_schema.processlist where Command != 'Sleep' and Time > 300 order by Time desc;

10. 查询线程及相关信息

除了root用户外,其他用户无法查看所有线程。你可以通过以下方式查看完整的进程列表。

show full processlist;

结果说明:

  • ID:线程ID。
  • Time:线程运行时间。
  • Info:线程执行的SQL。

通过以上方法,你可以更好地监控和优化数据库性能,快速定位和解决性能瓶颈问题。

转载地址:http://kiizz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现double hash双哈希算法(附完整源码)
查看>>
Objective-C实现double linear search recursion双线性搜索递归算法(附完整源码)
查看>>
Objective-C实现DoublyLinkedList双链表的算法(附完整源码)
查看>>
Objective-C实现DPLL(davisb putnamb logemannb loveland)算法(附完整源码)
查看>>
Objective-C实现Edmonds-Karp算法(附完整源码)
查看>>
Objective-C实现EEMD算法(附完整源码)
查看>>
Objective-C实现EM算法(附完整源码)
查看>>
Objective-C实现EM算法(附完整源码)
查看>>
Objective-C实现entropy熵算法(附完整源码)
查看>>
Objective-C实现euclidean distance欧式距离算法(附完整源码)
查看>>
Objective-C实现Euclidean GCD欧几里得最大公约数算法(附完整源码)
查看>>
Objective-C实现euclideanDistance欧氏距离算法(附完整源码)
查看>>
Objective-C实现euler method欧拉法算法(附完整源码)
查看>>
Objective-C实现eulerianPath欧拉路径算法(附完整源码)
查看>>
Objective-C实现eval函数功能(附完整源码)
查看>>
Objective-C实现Exceeding words超词(差距是ascii码的距离) 算法(附完整源码)
查看>>
Objective-C实现extended euclidean algorithm扩展欧几里得算法(附完整源码)
查看>>
Objective-C实现Factorial digit sum阶乘数字和算法(附完整源码)
查看>>
Objective-C实现factorial iterative阶乘迭代算法(附完整源码)
查看>>
Objective-C实现factorial recursive阶乘递归算法(附完整源码)
查看>>