数据库的慢查询日志

MySQL的慢查询日志可以用来找出执行时间过长的查询语句,并进行针对性的优化。这里只是简单说明一下,更多的另行参阅

一、slow log相关参数
以下参数都是动态参数,可以在实例运行时修改。

    slow_query_log=1       #是否启用慢查询日志,1为启用,0为禁用  
    slow_query_log_file=slow.log       #指定慢查询日志文件的路径和名字,可使用绝对路径指定;默认值是'主机名_slow.log',位于datadir目录  
    long_query_time=2     #SQL语句运行时间阈值,执行时间大于参数值的语句才会被记录下来  
    min_examined_row_limit=100     #SQL语句检测的记录数少于设定值的语句不会被记录到慢查询日志,即使这个语句执行时间超过了long_query_time的阈值  
    log_queries_not_using_indexes=1   #将没有使用索引的语句记录到慢查询日志  
    log_throttle_queries_not_using_indexes=10     #设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间  
    log-slow-admin-statements=1    #记录执行缓慢的管理SQL,如alter table,analyze table, check table, create index, drop index, optimize table, repair table等。  
    log_slow_slave_statements=0    #记录从库上执行的慢查询语句  
    log_timestamps=system     #5.7版本新增时间戳所属时区参数,默认记录UTC时区的时间戳到慢查询日志,应修改为记录系统时区  
    log_output=FILE,TABLE     #指定慢查询日志的输出方式,从5.5版本开始可以记录到日志文件(FILE,慢查询日志)和数据库表(TABLE,mysql.slow_log)中  

查看下是否启用满慢查询日志,为off没有开启
这里写图片描述
开启慢查询日志服务
这里写图片描述
执行了两次select sleep(10);Slow_queries 值为2,就是说有两个慢查询(大于2秒)
这里写图片描述
select sleep(1);select语句sleep1秒后执行,慢查询请求依然没变两次, long_query_time 为10.000000秒
这里写图片描述
这里写图片描述
查看慢日志,在/var/lib/mysql目录中
这里写图片描述
慢日志位置查询
这里写图片描述

二、使用慢查询日志的分析工具mysqldumpslow

 mysqldumpslow --help可显示其参数的使用


经常使用的参数:
-s,是order的顺序
al   平均锁定时间
ar   平均返回记录时间
at   平均查询时间(默认)
c    计数
l    锁定时间
r    返回记录
t    查询时间
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的

这里写图片描述
`

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值