mysql慢日志的概念## 标题
mysql的慢日志是mysql自身提供的一种日志记录,通俗的说就是在我们执行sql语句的时候,mysql响应时间超过阈(yu)值了,慢日志这个时候会记录下来。阈值long_query_time的值。long_query_time的默认值是10,意思运行时间超过10s以上的语句。默认情况下,mysql数据库的慢日志是关闭状态的,想要开启的话需要我们手动来设置这个参数,如果不是调优需要的话,一般不建议开启此功能,此功能开启的话会或多或少带来一定的性能上的影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。可以临时开启,也可以永久性的开启。这里只说一下永久开启和写入文件。我将使用phpstudy+Navicat来演示。
1.使用Navicat查看慢日志是否开启
show variables like ‘slow_query%’;
slow_query_log的Value是OFF说明并没有开启慢日志。
slow_query_log_file的Value是指慢日志文件的路径。
2.用phpstudy取mysql的配置文件开启慢日志
然后找到打开配置文件—>mysql-ini 进入mysql-ini,在底部写入,如果跟我一样使用的是phpstudy的话,写入保存后重启一下。
slow_query_log=ON
slow_query_log_file=E:\phpstudy\PHPTutorial\MySQL/slow.log
long_query_time=0.001
slow_query_log=ON 表示开启mysql的慢日志
slow_query_log_file 生成的慢日志文件存放的位置
long_query_time=0.001 阈值,运行时间超过0.001s以上的sql语句将会写入到慢日志文件中,之所以设置的数值为0.001,是为了接下里我们更好的去测试,如果想查看默认的long_query_time的值的话可以在navicat里运行
show variables like ‘long_query_time%’;
去navicat中去查看一下是否开启
现在已经开启了慢日志。
3.查看慢日志是否写入文件
很显然这个sql语句的运行时间超过了我们规定的阈值0.001,那么他就被记录在了慢日志文件中。
4.查看慢日志文件,验证慢日志记录
找到我们设置的慢日志文件如下。
这个就是慢日志产生的记录,记录介绍就不说了。相信大家自己动手试一遍的话是可以看明白的。个人认为在调优的时候把阈值设置成0.3-0.5,仅供参考,仅代表个人意思,具体请结合实际要求和需求来定,如果想深入了解慢日志的话还请移驾添加链接描述
第一次写贴,写的很low,非喜勿喷,如文中有不足的地方还请指教,我们共同揣着梦想,携手前进。