数据库
首页 > 数据库> > 查找最近最少使用的mysql表索引

查找最近最少使用的mysql表索引

作者:互联网

我正在清理mysql数据库中(innodb)表的重复索引.该数据库有大约50个表.

虽然我可以使用pt-duplicate-key-checker检查重复键,但我想知道是否有一个工具可以帮助我找出所有表中最近最少使用的索引.

例如. ,如果表“A”有三个索引定义为“index_1”,“index_2”和“index_3”,并且其中“index_3”的使用频率最低,则假设其使用的每个1/10000查询在表上进行,然后输出脚本或工具应该是“index_3”.

有没有一种好的方法或工具可以帮助我在数据库上运行这种分析?

提前致谢.

解决方法:

MySQL 5.6开始,performance_schema检测表I / O,并按表和索引计算聚合统计信息.

请参见表performance_schema.table_io_waits_summary_by_index_usage:

http://dev.mysql.com/doc/refman/5.6/en/table-waits-summary-tables.html#table-io-waits-summary-by-index-usage-table

查找最近最少使用的索引涉及时间和时间戳.

性能模式测量计算索引的I / O.它可用于查找最不常用的索引,实际上应该非常接近.

完整的例子:

http://sqlfiddle.com/#!9/c129c/4

标签:mysql,innodb,database-tuning,index
来源: https://codeday.me/bug/20190806/1599701.html