MySQL开启慢查询日志slow_query_log

开启慢查询功能

[color=red]slow_query_log_file 慢查询日志文件路径[/color]
[color=blue]slow_query_log 用于指定是否打开慢查询日志[/color]
[color=blue]long_query_time 超过多少秒的查询就写入日志[/color]
[color=red]log_output=file必须指定file或者是table如果是table则慢查询信息会保存到mysql库下的slow_log表中。这点要清楚。默认值是NONE[/color]
打开my.cnf配置文件,加入以下代码:

log_output=file
slow_query_log=on ;
slow_query_log_file = /tmp/mysql-slow.log
long_query_time = 2

保存退出,重启MySQL即可。

long_query_time = 1 #定义超过1秒的查询计数到变量Slow_queries。
slow_query_log_file = /usr/local/mysql/data/slow.log #定义慢查询日志路径。
[color=red]log_queries_not_using_indexes #未使用索引的查询也被记录到慢查询日志中(可选)。尽量少使用。[/color]
mysql自带了一个查看慢日志的工具mysqldumpslow。

[b]执行mysqldumpslow --h可以查看帮助信息。[/b]

主要介绍两个参数-s和-t
-s 这个是排序参数,可选的有:
al: 平均锁定时间
ar: 平均返回记录数
at: 平均查询时间
c: 计数
l: 锁定时间
r: 返回记录
t: 查询时间
-t n 显示头n条记录。
实例:
[color=red]mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log[/color]
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
[color=darkred]mysqldumpslow -t 10 -s t -g “left join” host-slow.log[/color]
这个是按照时间返回前10条里面含有左连接的sql语句。
[color=red]用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值