查找用不到的索引

【问题】 当前遇到的问题 想向MySQL一样,能查到冗余,没有用的索引。

【业务影响】

【TiDB 版本】 v5.2.2

【应用软件及版本】

【附件】 相关日志及配置信息

参考这个帖子https://asktug.com/t/topic/812873

tidb暂时还没有和mysql sys库下schema_redundant_indexes,schema_unused_indexes类似的系统表,目前可以结合dashboard去优化慢sql。

目前,可以查这个表 information_schema.tidb_indexes ,需要自行再判断结果。

INFORMATION_SCHEMA.SCHEMA_INDEX_USAGE

参考:https://github.com/pingcap/tidb/blob/master/docs/design/2020-09-30-index-usage-information.md
%E5%9B%BE%E7%89%87
不过最好提问前搜一下:https://asktug.com/t/topic/812873/7,这个帖子已经有类似问题

这个功能有实现吗,我这里表是空的。

mysql> select version()\G
*************************** 1. row ***************************
version(): 5.7.25-TiDB-v6.2.0-alpha
1 row in set (0.00 sec)

mysql> select * from mysql.SCHEMA_INDEX_USAGE;
Empty set (0.00 sec)

mysql> select * from INFORMATION_SCHEMA.SCHEMA_INDEX_USAGE;
ERROR 1146 (42S02): Table 'information_schema.SCHEMA_INDEX_USAGE' doesn't exist

在mysql库下,不过貌似没数据。

恩,楼上写的 I_S. 这里主要是 mysql 8 里的 sys schema unuse index 这个功能在 tidb 里还没实现。

我的锅,好像确实还没实现,我以为是因为我是4.0.16的缘故

其实说实话,MySQL里面用的次数也不太多

用不到的索引其实你写个sql反查询一下也有

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。