内容简介:在建议大家安装Percona Toolkit工具集,里面有很多不错的工具,今天推荐两款和索引有关的工具。非常简单:
在 《找出mysql中的慢查询》 说到MySQL慢查询日志和mysqldumpslow工具,但它们不会告诉你慢查询的原因,而慢查询大部分是索引使用的问题,那么如何找出有问题的索引呢?
建议大家安装Percona Toolkit工具集,里面有很多不错的工具,今天推荐两款和索引有关的工具。
安装Percona Toolkit工具集
非常简单:
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm yum install percona-toolkit
pt-duplicate-key-checker
用于检查重复索引,原理很简单,大部分重复索引是以为最左索引导致的,删除重复索引对于更新性能,以及优化内存都很有好处,这个 工具 会告诉你减少的索引数量和容量:
# Size Duplicate Indexes 206646655 # Total Duplicate Indexes 94
执行非常简单:
pt-duplicate-key-checker -u root ;
pt-index-usage
这个工具用来检查索引使用情况,可以打印报告或将结果导入到表中,供后续分析,不过理解起来有点难,如果是报告方式告之结果,感觉意义不大,考虑到目前我们数据库有重复索引和一些log_queries_not_using_indexes未构建的索引,所以打算等调整后再仔细研究。
顺带说下log_queries_not_using_indexes在慢查询日志中无法和查询慢的语句区分出来,是个小小的遗憾,所以 现在 我是通过人肉分析慢查询日志找出没有使用索引的sql。
在官方文档中,pt-index-usage使用说的不是很明白,所以我贴正确答案,干货满满:
pt-index-usage /data/slow-3306-040611 --database=percona -u root -h127.0.0.1 -p'' --no-report --empty-save-results-tables --save-results-database=127.0.0.1
其中—database表示将结果导出到那个库中;—no-report表示不打印报告;—empty-save-results-tables表示每次清空percona库中的数据,-save-results-database表示将结果导入到那个数据库实例中。
注意在运行之前,先手动创建percona库。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ORACLE如何检查找出损坏索引(Corrupt Indexes)
- 如何使用python脚本检查elasticsearch中是否存在索引并对其执行异常处理?
- k8s与健康检查--grpc服务健康检查最佳实践
- Nginx 健康检查
- Nginx健康检查模块
- Java调试检查表
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms Illuminated (Part 2)
Tim Roughgarden / Soundlikeyourself Publishing, LLC / 2018-8-5 / USD 17.99
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and machine learning. Studying algorithms can......一起来看看 《Algorithms Illuminated (Part 2)》 这本书的介绍吧!