上次使用时获取MySQL索引?

上次使用时获取MySQL索引?,mysql,indexing,Mysql,Indexing,我有一些带有许多索引的表,这些表在设计系统时可能在某些时候都很有用,但是随着对代码库的进一步更新,这些表可能会变得无用 有没有办法询问MySQL上次使用特定索引回答查询的时间? 这将使我不必分析系统发出的每一个查询,以检查它可能使用的索引(并查明实际数据在生产中实际使用的索引)。唯一可用的指标是自上次MySQL服务器重新启动以来索引的使用量,这完全满足了我的需要。提供一个查询(MySQL 5.6+)以返回此后未使用过的索引: 选择对象模式、对象名称、索引名称 从performance_schem

我有一些带有许多索引的表,这些表在设计系统时可能在某些时候都很有用,但是随着对代码库的进一步更新,这些表可能会变得无用

有没有办法询问MySQL上次使用特定索引回答查询的时间?


这将使我不必分析系统发出的每一个查询,以检查它可能使用的索引(并查明实际数据在生产中实际使用的索引)。

唯一可用的指标是自上次MySQL服务器重新启动以来索引的使用量,这完全满足了我的需要。提供一个查询(MySQL 5.6+)以返回此后未使用过的索引:

选择对象模式、对象名称、索引名称
从performance_schema.table_io_waitis_summary_by_index_usage
其中,索引名称不为空且计数星=0
按对象\模式、对象\名称排序;

谢谢@baao给我的指针。

,@baao谢谢你给我的指针,我自己没找到!请注意,根据文档:
更改表的索引结构的DDL操作可能会导致每索引统计信息重置。
。因此,如果您有index1和index2,并且查询显示index2未被使用,并且您决定删除index2,那么如果您运行该查询,index1实际上可能会显示在结果中,就好像它也未被使用一样。