1.查询慢查询是否开启
开启慢查询日志对性能有影响,所以一般默认是关闭的,需要手动开启
show variables like 'slow_query%';
2.修改慢查询sql记录的时间
记录慢查询sql的时间默认为10秒,根据自己需求修改
show variables like '%long_query%';
3.修改
1.第一种修改方法
set @@global.slow_query_log=1; -- 1 开启,0 关闭,重启后生效
set @@global.long_query_time=3; -- mysql 默认的慢查询时间是 10 秒
show variables like '%long_query%';
show variables like '%slow_query%';
2.第二种修改方法
修改配置文件 my.cnf,以下配置定义了慢查询日志的开关、慢查询的时间、日志文件的存放路径。
slow_query_log = ON
long_query_time=2
slow_query_log_file =/var/lib/mysql/localhost-slow.log
4.查看慢查询日志
查看慢查询日志存放地址
show variables like '%slow_query%';
查看有多少慢查询
show global status like 'slow_queries';
5.mysqldumpslow工具
mysqldumpslow 是msql官方提供的工具,在mysql的bin目录下
查询用时最多的 10 条慢 SQL
mysqldumpslow -s t -t 10 -g 'select' /var/lib/mysql/localhost-slow.log
Count 代表这个 SQL 执行了多少次;
Time 代表执行的时间,括号里面是累计时间;
Lock 表示锁定的时间,括号是累计;
Rows 表示返回的记录数,括号是累计。
除了慢查询日志之外,还有一个 SHOW PROFILE 工具可以使用