Я недавно полностью переписал крупный проект. При этом я консолидировал большое количество случайных запросов MySQL. Я действительно помню, что в течение разработки предыдущей кодовой базы, создал индексы на прихоти, и я уверен, что существует большое число, которые больше не используются.
Существует ли способ контролировать индексное использование MySQL для определения, какие индексы используются, и которые не?
Я не думаю, что эта информация доступна в стандартной установке MySQL.
Percona делает инструменты и патчи для MySQL для сбора данных об использовании индексов.
Смотрите:
Смотрите также:
INDEX_STATISTICS
таблица в information_schematable_io_waits_summary_by_index_usage
таблица в performance_schema в MySQL 5.6Вас также может заинтересовать Java-приложение под названием MySQLIndexAnalyzer, которое помогает найти избыточные индексы. Но этот инструмент не имеет представления о том, какие индексы не используются.