MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。
具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。
long_query_time的默认值为10,意思是记录运行10秒以上的语句。
默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。
-
设置最长时间
SET GLOBAL long_query_time=10; -
开/关慢查询
SET GLOBAL slow_query_log=off;
-
查看慢查询存放地点
SHOW VARIABLES LIKE ‘slow_query%’;
-
查看慢查询最长时间
SHOW VARIABLES LIKE ‘long_query_time’;
更改慢查询
在系统命令行以管理员身份运行:
- net stop mysql
- net start mysql
查看慢查询信息
打开位于C:\ProgramData\MySQL\MySQL Server 5.7\Data下的XXX-slow.log文件。
- query_time:real time + lock time的总时间
lock_time:waiting for xxx lock的时间
query_time ≥ lock_time - 第一行time
T表示分隔符,Z表示的是UTC。
UTC:世界标准时间,在标准时间上加上8小时,即东八区时间,也就是北京时间。
举例
北京时间:2020-01-14 00:00:00对应的国际标准时间格式为:2020-01-13T16:00:00.000Z