MySQL优化(五) - 开启慢查询日志
查看slow_query_log是否开启,OFF就是关闭的,ON就是开启的。
mysql> show variables like 'slow_query%';
1
新建文件,文件的目录你自己选,修改下内容就行了
# touch /mysql-slow.log
1
给予权限,不然会开启不成功
# chown -R mysql:mysql /mysql-slow.log
1
开启只需到/etc/my.cnf中添加以下内容,如果里面已经有[mysqld]就不需要加
slow_query_log = ON
slow_query_log_file = /mysql-slow.log
long_query_time = 1
1
2
3
slow_query_log:开启
slow_query_log_file:日志写入文件
long_query_time:超过多少秒就写入
在这里插入图片描述
Query_time:查询时间
Lock_time:锁表时间
Rows_sent:慢查询返回记录
Rows_examined:扫描过的行数
这样你就可以找到需要优化的语句了,如果没有这个,用户反馈说卡你也无从查起。
慢查询次数查询
mysql> show global status like "%slow%";
1
语句分析
mysql> desc SELECT * FROM user limit 1;
1
在这里插入图片描述
select_type:查询类型。
table:查询的数据表
possible_keys:显示应用在这张表中的索引。
type:从最好到最差的连接类型为const、eq_reg、ref、range、index和all。
key: 实际使用的索引。
key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好
ref:显示索引的哪一列被使用了。
rows:扫描的行数。
Extra:关于mysql如何解析查询的额外信息。
注意:修改配置文件需要重启mysql才能生效。
————————————————
版权声明:本文为CSDN博主「weikaixxxxxx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weikaixxxxxx/java/article/details/86560080