TiDB 索引优化

【概述】 问题概述
在MySQL中存在一些系统表或者视图,可以查询冗余索引、重复索引和未使用过索引,然后进行索引优化。
请问在TiDB中有哪些方法可以排查冗余索引、重复索引和未使用过索引?

【TiDB 版本】
Release Version: v5.0.1
Edition: Community
Git Commit Hash: 1145e347d3469d8e89f88dce86f6926ca44b3cd8
Git Branch: heads/refs/tags/v5.0.1
UTC Build Time: 2021-04-23 05:51:17
GoVersion: go1.13
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 Like

mysql.schema_index_usage表,参考如下链接
https://github.com/pingcap/tidb/blob/master/docs/design/2020-09-30-index-usage-information.md
另外,自己也可以对information_schema. statements_summary表进行聚合分析,SQL所使用的索引在INDEX_NAMES字段,SQL执行的次数在EXEC_COUNT字段

1 Like

其实感觉同等重要的是分析 TiDB Dashboard - SLow Queries 或者 TiDB Dashboard - SQL Statements,做好慢SQL优化

同意楼上的,定期分析优化dashboard中top10的sql语句

mysql pt工具吗? 这个类似可以提个需求给官方还是很实用的

或者 把功能做到 TiDB Dashboard 里也可以

1.这个可以看看提产品需求的帖子,看看有没有什么工具
2.但一般索引优化更多是考虑根据 TiDB Dashboard 的慢查询进行优化
TiDB Dashboard 介绍:


https://docs.pingcap.com/zh/tidb/stable/dashboard-intro
TiDB Dashboard 访问:

https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/access-dashboard#访问-tidb-dashboard

mysql.schema_index_usage这个表的统计功能还没实现吧?TiDB v5.0.1里还没有数据。 information_schema. statements_summary表里还可以统计一些信息,非常感谢

1 Like

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