惊天宝匣,手工活外发加工网,宋佩璋
在web开发中,我们经常会写出一些sql语句,一条糟糕的sql语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化sql语句将那些运行时间 比较长的sql语句找出呢?mysql给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的sql语句!那么如何应用慢查询呢?
1.开启mysql的慢查询日志功能
默认情况下,mysql是不会记录超过一定执行时间的sql语句的。要开启这个功能,我们需要修改mysql的配置文件,windows下修改my.ini,linux下修改my.cnf文件,在[mysqld]最后增加如下命令:
(2)long_query_time = 1 这句是记录超过1秒的sql执行语句
(3)那么这个日志文件存放在什么地方呢?
默认是放在mysql的data目录,并且文件名为host_name-slow.log即 主机名-slow.log,比如在笔者的开发机上就是think-slow.log(因为偶用的thinkpad,呵呵)
(4)如果日志文件不想放在data目录,我们可以通过如下配置指定存放的目录及日志文件名:
slow_query_log_file=file_name
其中file_name就是你的存放日志的目录和文件名,在这里注意有的资料上可能是log-slow-queries=file_name,这个在mysql5.5版已经过时!
4.如何记录低于1s的慢查询记录呢?
mysql5.21版以前long_query_time 参数的单位是秒,默认值是10。这相当于说最低只能记录执行时间超过 1 秒的查询,怎么记录查询时间超过100毫秒的sql语句记录呢?在mysql5.21+后版本支持毫秒记录
(1)进入mysql控制台,运行如下sql语句:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
小白安装登录mysql-8.0.19-winx64的教程图解(新手必看)
Navicat连接MySQL时报10060、1045错误及my.ini位置问题
网友评论