码迷,mamicode.com
首页 > 其他好文 > 详细

二十二:慢日志分析

时间:2021-03-17 14:02:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:sql慢查询   运行   info   dex   mamicode   次数   font   log   全表扫描   

慢日志slow-log的作用
记录运行较慢的语句,优化过程中常用的工具日志

默认未开启慢日志,需要修改配置文件my.cnf开启

$ vim /etc/my.cnf
[mysqld]
#开启慢日志
slow_query_log=1 
#慢日志记录文件位置,目录提前创建好且有权限
slow_query_log_file=/data/mysql/slow.log
#如果查询事件超过0.1秒则记录到慢日志中,默认超过10s记录
long_query_time=0.1
#记录没走索引的语句,可能是全表扫描,也会造成查询慢
log_queries_not_using_indexes

long_query_time变量默认查询时间超过10s记录到慢日志
技术图片

模拟慢查询

#使用全表查询语句模拟慢查询
mysql> select num,k1 from t100w where num !=10 order by k1 limit 10000;
#使用多条不一样的语句查询测试

分析慢日志
slow.log是文本格式的,打开slow.log文件,记录的都是超过0.1s的查询语句,这些语句可能没有走索引
技术图片

使用mysqldumpslow分析慢日志

#-s,sort排序,-c,count次数,-t,top前10条数据
mysqldumpslow -s c -t 10 /data/mysql/slow.log

技术图片

第三方分析工具
下载percona-toolkit

#安装依赖项
$ yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-Digest-MD5

#分析二进制日志
$ pt-query-diagest  /data/mysql/slow.log

Anemometer基于pt-query-digest将MySQL慢查询以网页形式展现,方便查看。

学习来自:老男孩深标DBA课程 第六章 日志管理

二十二:慢日志分析

标签:sql慢查询   运行   info   dex   mamicode   次数   font   log   全表扫描   

原文地址:https://www.cnblogs.com/tz90/p/14538855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!