我最近完全重写了一个大型项目。在这样做的过程中,我整合了大量的随机 MySQL 查询。我确实记得在开发以前的代码库的过程中,我一时兴起创建了索引,而且我确信有很多不再使用了。
有没有办法监控 MySQL 的索引使用情况,以确定哪些索引正在使用,哪些没有?
最佳答案
我不认为这些信息在现有的 MySQL 安装中可用。
Percona 为 MySQL 制作工具和补丁来收集索引使用数据。
见:
另见:
- New
INDEX_STATISTICS
table in the information_schema - check-unused-keys: A tool to interact with INDEX_STATISTICS
- New
table_io_waits_summary_by_index_usage
table in performance_schema in MySQL 5.6
您可能还对名为 MySQLIndexAnalyzer 的 Java 应用程序感兴趣,这有助于找到冗余 索引。但是这个工具不知道哪些索引未被使用。
关于mysql - 如何识别 MySQL 数据库中未使用的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3243475/