慢查询日志(前面a_53_0的性能分析里学过,这里也没什么变化,当复习就好) 当某条SQL语句的执行时间超过我们指定的时间,就称这条语句为慢查询语句,该语句就会被记录在慢查询日志,方便我 们后续对这条语句进行优化

 

慢查询日志记录了所以执行时间超过参数long_query_time设置值,并且扫描记录数不小于min_examined_row_limit的 所有的SQL语句的日志,默认未开启。long_query_time默认为10秒,最小为0,精度可以到微秒

 

long_query_time默认是10秒,当某条SQL语句的执行时间超过10秒就会被记录到慢查询日志。这个10秒是可以修改的, 我们需要去该mysql的配置文件,如下

 

#编辑my.cnf配置文件

 

把下面的4行复制粘贴到上面my.cnf的末尾行,并保存退出

 

重启mysql服务

 

验证如下

 

需要导入前面导过很多次的200万数据表,分两步导入,先导入表结构,再导入表数据

【表结构】

 

【表数据】

 

【验证操作】

准备好200万数据的tb_sku表后,就有了慢查询的环境啦,看查询语句会不会被记录到慢查询日志

 

localhost-slow.log慢查询日志文件里记录了什么信息 什么时间点、哪个用户、哪个主机、执行了什么SQL语句、执行耗时

 

 

下面的也是慢查询日志的笔记,是前面没有讲过的,认真学

默认情况下,不会记录管理语句,也不会记录不使用索引进行查找的查询。解决如下

 

如果你不想你的慢查询日志太乱,那么建议还是把上面两个1改为0,等什么时候有业务需求的时候,再设置为1

重启mysql服务

 

现在你的慢查询日志就非常强大了,只要是查询效率比较低,耗费时间>2秒的,都会被记录

删除tb_sku表