一、修改慢查询时间
数据库默认的long_query_time是10秒
但是,响应时间是毫秒级别的(应用服务器时间+网络时间+数据库时间)
所以,long_query_time应当设为1s
1、查看数据库默认的long_query_time
show variables like ‘long_query_time’
2、修改配置文件
long_query_time=1
3、在服务中重启mysql
4、再次查看long_query_time
show variables like ‘long_query_time’
会发现,此时慢查询时间已经由10秒变为1秒。
二、打开慢查询日志
1、查看默认设置,慢查询日志处于关闭状态
show variables like ‘%slow%’
2、修改配置文件
slow-query-log=1
slow_query_log_file="SD-20190801TIWK-slow.log"
log_queries_not_using_indexes=1
3、再次查看慢查询日志开启状态
show variables like ‘%slow%’
发现慢查询日志已经开启。
三、实验-查看慢查询日志:
1、三条用于测试的sql语句
select * from student;
select * from student where name like '%学生';
select * from student where id=1;
2、explain 查看sql语句类型等信息
explain select * from student;
explain select * from student where name like '%学生';
explain select * from student where id=1;
3、结论分析
会发现,只要是type类型为ALL的,都会进入慢查询日志,而select * from student where id=1;
类型为const,则没有出现在慢查询日志中。