菜单

MySQL慢SQL开启

概述
监控慢SQL的主要目的是为优化SQL提供目标,防止后期系统运行中因慢SQL而使数据库或程序服务宕机。
检查方式
##查询是否开启慢日志,及慢日志文件路径。

language 复制代码
show VARIABLES like '%slow_query%';

##查询慢日志时间(单位是秒)

language 复制代码
show VARIABLES like '%long_query%';

##查询慢日志记录的方式,file(文件),table(数据表)

language 复制代码
show VARIABLES like '%log_output%';

##开启慢日志开关。
##注:阿里云RDS或华为云RDS上默认已开启,无需更改。

language 复制代码
set GLOBAL slow_query_log='ON';

##开启慢日志时间限制,记录超过5s的sql。

language 复制代码
set GLOBAL long_query_time=5;

##开启慢日志记录方式。文件和表

language 复制代码
set GLOBAL log_output='TABLE';

查询慢SQL
查询出来超过10S的慢SQL,导出到excel页中。对表格中的慢SQL进行去重,去重后提交至禅道。
#查询当前时间点的慢mysql

language 复制代码
select CONVERT(d.sql_text using utf8),d.* from mysql.slow_log d where d.start_time >= CURDATE() order by start_time desc;

#查询大于等于2022年3月1日时间点的慢mysql

language 复制代码
select CONVERT(d.sql_text using utf8),d.* from mysql.slow_log d where  d.start_time > '2022-03-01' order by start_time desc;

历史慢SQL清理
建议现场定时删除一个月之前的mysql.slow_log表中的慢SQL。保证数据库性能。

上一个
ORA-00904: "VALIDATE": invalid identifier
下一个
操作系统
最近修改: 2024-06-02Powered by