gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 00:39:54 25 4
gpt4 key购买 nike

我正在清理 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 检测表 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

关于mysql - 查找最近最少使用的 mysql 表索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12720960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com