首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找最近最少使用的mysql表索引

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

Stack Overflow用户
提问于 2012-10-04 13:44:42
回答 1查看 445关注 0票数 1

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

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

例如。,如果表"A“有定义为"index_1”、"index_2“和"index_3”的三个索引,并且其中"index_3“的使用频率最低,假设对表进行的每10000次查询都会使用它,则脚本或工具的输出应该是"index_3”。

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

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-04 15:51:56

从MySQL 5.6开始,performance_schema插入表io,并通过表和索引计算聚集的统计信息。

请参阅表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

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

性能模式的衡量标准是将io与索引进行计数,因此可以使用它来查找最不常用的索引,而在实践中,该索引应该非常接近。

完整示例如下:

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

注意:这个问题也在

https://dba.stackexchange.com/questions/25406/find-least-recently-used-mysql-table-index

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12720960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档