各大网站查重率比较,怎么做电影网站,做网站广告费,页面设计平台前言 Mysql的慢查询日志是MySql提供的一种日志记录#xff0c;它用来记录在Mysql中响应时间超过阈值的SQL语句#xff0c;具体是指运行时间超过 long_query_time 值的sql会被记录到慢查询日志中。
开启慢查询 Mysql默认情况下#xff0c;是没有开启慢查询日志的#xff0c…前言 Mysql的慢查询日志是MySql提供的一种日志记录它用来记录在Mysql中响应时间超过阈值的SQL语句具体是指运行时间超过 long_query_time 值的sql会被记录到慢查询日志中。
开启慢查询 Mysql默认情况下是没有开启慢查询日志的需要我们自己开启数据库的慢查询日志。
查看是否开启 show variables like %slow_query_log%; 1 mysql show variables like %slow_query_log%; --------------------------------------------------------------------------- | Variable_name | Value | --------------------------------------------------------------------------- | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql/data/slow.log | --------------------------------------------------------------------------- 2 rows in set (0.00 sec) OFF 表示是关闭状态。使用下边的命令进行开启
set global slow_query_log1; 1 如果要永久生效的话需要配置到mysql的配置文件中。
记录慢查询 开启慢查询后只有符合慢查询条件的sql才会记录到慢查询日志里。这个是由 long_query_time参数控制默认情况下该值为10秒也就是说只有查询**超过10秒此处是大于而非大于等于**的sql才会记录到慢查讯日志中。使用如下命令查看
show variables like long_query_time%; ## 默认慢查询时间 1 mysql show variables like long_query_time%; --------------------------- | Variable_name | Value | --------------------------- | long_query_time | 3.000000 | --------------------------- 1 row in set (0.00 sec) 因为本人已经修改过所以在此显示为3秒钟修改使用如下命令
set global long_query_time3; ## 设置慢查询的时间 1 该配置同样可以配置在mysql的配置文件里。 修改之后可以通过如下命令进行查看。如果看不到变化可以重新打开一个新的控制台进行查看。
show global variables like long_query_time%; 1 测试 使用mysql的sleep()函数进行测试看看慢查询是不是能被记录
select sleep(4); 1 mysql select sleep(4); ---------- | sleep(4) | ---------- | 0 | ---------- 1 row in set (4.01 sec) 查询当前系统中有多少条慢查询记录使用如下命令
show global status like %Slow_queries%; 1 mysql show global status like %Slow_queries%; ---------------------- | Variable_name | Value | ---------------------- | Slow_queries | 1 | ---------------------- 1 row in set (0.00 sec) 根据如下命令可以知道慢查询记录在 /usr/local/mysql/data/slow.log 该路径下的slow.log文件中
show variables like %slow_query_log%; 1 进入到相应目录下查看记录
/usr/local/mysql/bin/mysqld, Version: 5.7.22 (MySQL Community Server (GPL)). started with: Tcp port: 3306 Unix socket: /tmp/mysql.sock Time Id Command Argument # Time: 2020-04-09T07:03:19.508636Z # UserHost: root[root] localhost [127.0.0.1] Id: 5 # Query_time: 4.005159 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 use bootdo; SET timestamp1586415799; select sleep(4); 至此慢查询sql已经记录到mysql中去了。 知道了哪些是慢查询sql我们后续就可以根据Explain命令进行相应的优化了。