mysql的慢查询日志分析

1、方法一:使用mysql程序自带的mysqldumpslow命令分析
1)查询slow log的状态
在这里插入图片描述

在线开启慢查询日志
在这里插入图片描述

查看long_query_time时间
在这里插入图片描述

修改long_query_time为1秒
在这里插入图片描述

2)使用sql中的sleep函数进行一次慢查询
在这里插入图片描述

3)退出mysql,查看日志
在这里插入图片描述

4)使用tpcds中的query语句进行查询
因为mysql5.7不支持with as用法,在尝试了几个语句之后,发现这条语句查询时间比较长

select a.ca_state state, count(*) cnt
from customer_address a
    ,customer c
    ,store_sales s
    ,date_dim d
    ,item i
where       a.ca_address_sk = c.c_current_addr_sk
   and c.c_customer_sk = s.ss_customer_sk
   and s.ss_sold_date_sk = d.d_date_sk
   and s.ss_item_sk = i.i_item_sk
   and d.d_month_seq = 
        (select distinct (d_month_seq)
         from date_dim
              where d_year = 2002
           and d_moy = 3 )
   and i.i_current_price > 1.2 * 
            (select avg(j.i_current_price) 
        from item j 
        where j.i_category = i.i_category)
group by a.ca_state
having count(*) >= 10
order by cnt, a.ca_state 
;

在这里插入图片描述

查看log中的日志,已经有这条查询了
在这里插入图片描述

5)安装分析工具mysqlsla

yum install perl-DBI perl-DBD-MySQL perl-devel -y

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6)重启一下终端,查看mysqlsla是否安装完成
出现了一点小问题,mysqlsla无法在root用户下使用,所以把slow.log文件复制了一份到user用户下,修改了所有者之后,用mysqlsla分析了一下
在这里插入图片描述
在这里插入图片描述

2、方法二:使用pt(Percona Toolkit)工具的pt-query-digest进行统计分析。
下载pt
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运行一下pt-mysql-summary试试
在这里插入图片描述
使用pt-query-digest
在这里插入图片描述

参考资料:
https://www.cnblogs.com/skymyyang/p/7239010.html
https://blog.csdn.net/Mr_lisj/article/details/93867681

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值