Mysql 性能优化(1)--设置开启慢查询记录并使用慢查询工具分析

一 、设置开启慢查询

1.1 如何发现比较慢的sql

使用mysq慢查日志对有效率问题的sql进行监控

long_query_time: 慢查询时间,定义超过1秒的查询计数到变量Slow_queries
slow_query_log: 慢查询日志是否开启
show_query_log_file: 慢查询日志路径
log_queries_not_using_indexes:没有使用索引的查询

show variables like ‘%slow_query%’;
在这里插入图片描述
set global slow_query_log=on;

set global show_query_log_file =’/home/mysql/sql_log/mysql-show.log’;
set global log_queries_not_using_indexes=on;
set global long_query_time = 1

注意:更新variable值之后,需要重新断掉mysql,再连接,再进行查询则显示更改之后的值

1.2 慢查询包含的内容

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

二 、慢查询日志分析工具

2.1 mysqldumpslow

mysql 自带工具
Linux下mysql:
在这里插入图片描述
在 windows 下可以在mysql/bin目录下可以找到 mysqldumpslow.pl 文件,是一个 perl 格式的文件,如下图:
在这里插入图片描述
windows下需要使用perl(Practical Extraction and Report Language:实用报表提取语言)语言:
-h:查询帮助
在这里插入图片描述

perl C:\java\mysql\mysql-8.0.12\bin\mysqldumpslow.pl -s t -a -t 3 C:\java\mysql\mysql-8.0.12\data\CNSHO-HWFSGH2-slow.log

在这里插入图片描述
Count:执行次数 Time: 执行时间 Lock: 锁定时间 Row: 返回行数

将结果集输出到文件:
在这里插入图片描述

perl mysqldumpslow.pl C:\java\mysql\mysql-8.0.12\data\CNSHO-HWFSGH2-slow.log | more

2.2 pt-query-digest

在我的 mysql/bin 文件夹下并没有 pt-query-digest.pl 文件,所以需要手动下载;

curl -o pt-query-digest.pl https://www.percona.com/get/pt-query-digest

在这里插入图片描述
进度变为100%后即为下载成功!

perl pt-query-digest.pl C:\java\mysql\mysql-8.0.12\data\CNSHO-HWFSGH2-slow.log | more

在这里插入图片描述
overall:总共24条sql,15条不同的

2.3 通过慢查询分析问题sql

在这里插入图片描述

Mysql 性能优化(2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值