mysql慢查询总结

慢查询日志概念

mysql的慢查询日志是mysql提供的一种日志记录,它用来记录在mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

慢查询日志相关参数

mysql慢查询总结_第1张图片
慢查询.png
slow_query_log : 是否已经开启慢查询

slow_query_log_file : 慢查询日志文件路径

long_query_time :  超过多少秒的查询就写入日志 

log_queries_not_using_indexes 如果值设置为ON,则会记录所有没有利用索引的查询(性能优化时开启此项,平时不要开启)

1.临时开启慢查询日志

set global slow_query_log = on;

2.临时设置慢查询时间阈值

set global long_query_time=1;(需要重新打开链接才能看到修改后的值)

3.设置慢查询的存储方式

set globle log_output = file;(可以看到,我这里设置为了file,就是说我的慢查询日志是通过file体现的,默认是none,我们可以设置为table或者file,如果是table则慢查询信息会保存到mysql库下的slow_log表中)

4.使用慢查询日志示例

cat -n /var/lib/mysql/e90ca3b15ac1-slow.log 查看慢查询日志

5.永久设置慢查询日志开启,以及设置慢查询日志时间阈值

linux中,mysql配置文件一般默认在 /etc/my.cnf,更改对应参数即可。

你可能感兴趣的:(mysql慢查询总结)