sql慢查询日志的分析工具?
欢迎关注微信公众号,想进入大型互联网公司的或提升自己能力的,搜索微信公众号:“一起写程序” ,会分享系列文章,面试题等,希望大家能一起学习。
工具一:mysqldumpslow
- Myslqdumpslow是安装mysql的时候自动安装的。
- 通过myslqdumpslow –h 查看的帮助。提示信息。
工具二:pt-query-disgest
安装pt-query-digest:
pt-query-digest是一个perl脚本,只需下载并赋权即可执行。pt-query-digest包含在percona-toolkit里面,如果已经安装过percona-toolkit则可以直接使用(percona-toolkit安装方法请参考Linux系统中percona-toolkit的安装方法),下面是centos系统中pt-query-digest的单独安装方法
# yum install perl-DBI
# yum install perl-DBD-MySQL
# yum install perl-Time-HiRes
# yum install perl-IO-Socket-SSL
# wget percona.com/get/pt-query-digest
# chmod u+x pt-query-digest
mv /root/pt-query-digest /usr/bin/
pt-query-digest:分析
常用选项: —create-review-table 当使用—review参数,把分析结果输出到表中
—create-history-table 但是用—history参数,把分析结果输出到表中
—filter 对输入的慢查询按指定的字符串进行匹配过滤后,在进行分析
—limit 限制输出结果百分比或数量,默认值是20,即将最慢的20条语句输出
—host HostName
—user 用户名
—password 密码
—history 将分析结果保存到表中,分析结果比较详细
—review 将分析结果保存到表中
—output 分析结果输出类型
—since 从什么时间开始分析,值为字符串
—until 截止时间,配合since一起分析
分析结果:
其中:
Overall:总共有多少条查询
unique:唯一查询数量
Time range:查询执行的时间范围
total:总计
min:最小
max:最大
avg:平均
95%:95%的查询时间,重点分析
median:中位数,把所有值从小到大排列,位置位于中间那个数
详细的分析结果:
Response:总的响应时间
time:该查询在本次分析中占用的时间比
Calls:执行次数
R/Call:平均每次执行的响应时间
Item:查询对象
每一条查询的详细分析结果:
ID:查询的ID号,和上图的Query ID对应
Databases: 数据库名
Users:执行的用户
Query_time distribution:查询的时间分布(此图说明,查询几乎都在1ms-10ms之间)
Tables:查询涉及到的表
EXPLAIN:SQL语句