MySQL怎么查询比较耗时的sql语句
发布网友
发布时间:2022-04-22 04:31
我来回答
共2个回答
热心网友
时间:2022-04-07 16:35
一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句
1,slow_query_log
这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2,long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。
3,slow_query_log_file
记录日志的文件名。
4,log_queries_not_using_indexes
这个参数设置为ON,可以捕获到所
热心网友
时间:2022-04-07 17:53
开启慢查询日志即可
文件方式配置 MySQL 慢查询的方法:
在 mysql 配置文件 my.cnf 中增加:
log-slow-queries=/opt/data/slowquery.log
long_query_time=2
log-queries-not-using-indexes
命令方式配置 MySQL 慢查询的方法:
set global slow_query_log=on;
set global long_query_time=1;
set global slow_query_log_file=‘/opt/data/slow_query.log’;
查询 MySQL 慢查询状态的方法:
SHOW VARIABLES LIKE '%query%';
解析 MySQL 慢查询日志的方法:
按照 sql 执行时间最长的前 20 条 sql:
mysqlmpslow -s t -t 20 -g 'select' /opt/data/slowquery.log