阿里云mysql有慢查询_mysql慢查询-阿里云开发者社区

本文介绍了如何开启MySQL的慢查询日志以定位低效SQL,通过`show variables like '%slow%'`和`show global status like '%slow%'`命令查看状态,并使用`mysqldumpslow`工具分析最常运行的查询。建议在主从结构中只在从服务器开启以减少对性能的影响。
摘要由CSDN通过智能技术生成

有时我们为了定位系统中效率比较低下的Query语法,需要打开慢查询日志,也就是SlowQuery log。打开慢查询日志的相关命令如下:

查看

mysql> showvariables like '%slow%';

+---------------------+-------------------------------------------+

|Variable_name       |Value                                    |

+---------------------+-------------------------------------------+

|log_slow_queries    |ON                                       |

|slow_launch_time    |2                                        |

|slow_query_log      |ON                                       |

| slow_query_log_file| /app/mysql-5.5.32/data/localhost-slow.log |

+---------------------+-------------------------------------------+

4 rows in set (0.00sec)

mysql> show globalstatus like '%slow%';

+---------------------+-------+

|Variable_name       | Value |

+---------------------+-------+

| Slow_launch_threads| 0     |

|Slow_queries        |0     |

+---------------------+-------+

2 rows in set (0.00sec)

打开慢查询日志可能会对系统性能有一点点影响,如果你的MySQL是主从结构,可以考虑打开其中一台从服务器的慢查询日志,这样既可以监控慢查询,对系统性能影响也会很小。另外,可以用MySQL自带的命令mysqldumpslow进行查询。

比如:下面的命令可以查出访问次数最多的20个SQL语句:

[root@localhost ~]#mysqldumpslow -s c -t 20  /app/mysql-5.5.32/data/localhost-slow.log

注意:

-s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' isdefault

al: average lock time

ar: average rows sent

at: average query time

c: count

l:lock time

r: rows sent

t: query time

-t NUM       just show the top n queries

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值