资讯

展开

MySQL慢日志[慢查询]相关分析

作者:快盘下载 人气:

 在实际工作中使用 mysql 时,执行一条语句需要很长时间返回,们称之为慢查询,一般来说,发生慢查询的原因有几个原因。我是遇到过一次,特意看到这篇文章留存一下。分享给大家。


MySQL慢日志[慢查询]相关分析



通常情况下,在业务上线之前,会在测试环境里面,把 MySQL 的慢查询打开,也就是把 longquerytime 设置为 0,这样确保每一条语句都被记录到慢日志中去,具体的配置可以参考下文。


MySQL 的慢查询日志是MySQL提供的一种日志记录,它是用来记录在MySQL中响应时间超过阀值的语句。系统默认情况下,MySQL 并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。


慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。


默认情况下slowquerylog的值为OFF,表示慢查询日志是禁用的,可以通过设置slowquerylog的值来开启,如下所示:


MySQL慢日志[慢查询]相关分析


MYSQL开启慢查询日志:


MySQL慢日志[慢查询]相关分析


使用set global slowquerylog=1开启了慢查询日志只对当前数据库生效,如果MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)默认情况下longquerytime的值为10秒,在MySQL源码里是判断大于longquerytime,而非大于等于。从MySQL 5.1开始,longquerytime开始以微秒记录SQL语句运行时间,之前仅用秒为单位记录。如果记录到表里面,只会记录整数部分,不会记录微秒部分。



参数说明:











加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!