> 家居
数据库冗余查询(mysql数据冗余导致的问题)
导语:分享一款mysql数据库检查冗余索引利器-pt-duplicate-key-checker
概述关系数据库中的索引越多,对DML操作性能影响越大,所以找出重复的索引并删除索引,对于优化数据库性能,也是一项非常重要的工作。
下面介绍pt中两个检查索引的工具,主要是pt-duplicate-key-checker方面的介绍。
一、检查冗余索引使用pt-duplicate-key-checker工具检查是否有重复的索引。根据结果,可以看出重复的索引信息,包括索引定义,列的数据类型,以及修复建议。
1、查看某张表的索引结构
show indexes from hr_employee_assign;
可以发现里面有一个重复的索引,HR_EMPLOYEE_ASSIGN_U1和HR_EMPLOYEE_ASSIGN_U2索引就重复了。
2、pt-duplicate-key-checker检测
pt-duplicate-key-checker --host=localhost --user=root --password=7mq47stdmA39JkJ] --databases=fsl_prod --tables=hr_employee_assign
如果要检查整个数据库的话只需要去掉--tables参数就可以了。
二、检查索引使用情况(比较少用)pt-index-usage工具用于检查索引的使用情况,由于需要对慢日志读取分析,操作有点风险,用得比较少。默认情况下pt-index-usage只建议删除未使用的辅助索引,而不是主索引或惟一索引。
pt-index-usage /data/log/slow.log --host=localhost --user=root --password=xxxx
上面的命令最重要的是pt-duplicate-key-checker了,建议大家重点掌握。觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
本文内容由小芦整理编辑!