Прямой ответ на это будет
information_schema.statistics
mysql> desc information_schema.statistics;
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| TABLE_CATALOG | varchar(512) | NO | | | |
| TABLE_SCHEMA | varchar(64) | NO | | | |
| TABLE_NAME | varchar(64) | NO | | | |
| NON_UNIQUE | bigint(1) | NO | | 0 | |
| INDEX_SCHEMA | varchar(64) | NO | | | |
| INDEX_NAME | varchar(64) | NO | | | |
| SEQ_IN_INDEX | bigint(2) | NO | | 0 | |
| COLUMN_NAME | varchar(64) | NO | | | |
| COLLATION | varchar(1) | YES | | NULL | |
| CARDINALITY | bigint(21) | YES | | NULL | |
| SUB_PART | bigint(3) | YES | | NULL | |
| PACKED | varchar(10) | YES | | NULL | |
| NULLABLE | varchar(3) | NO | | | |
| INDEX_TYPE | varchar(16) | NO | | | |
| COMMENT | varchar(16) | YES | | NULL | |
| INDEX_COMMENT | varchar(1024) | NO | | | |
+---------------+---------------+------+-----+---------+-------+
16 rows in set (0.01 sec)
Вы можете выбрать из этой таблицы с
SELECT * FROM information_schema.statistics
WHERE table_schema='mydb' AND table_name='mytable';
или посмотреть статистику, выполнив
ПОКАЗАТЬ ИНДЕКСЫ ИЗ mydb.mytable;
Пожалуйста, имейте в виду, что эта таблица не всегда точна в условиях интенсивной записи. Периодически вам придется запускать ANALYZE TABLE для всех таблиц MyISAM, которые часто обновляются. В противном случае, MySQL Query Optimizer, который опирается на information_schema.statistics, иногда может сделать неправильный выбор при разработке планов EXPLAIN для запросов. Статистика индекса должна быть как можно более актуальной.
ANALYZE TABLE АБСОЛЮТНО НЕТ ЭФФЕКТА против таблиц InnoDB. Вся индексная статистика для InnoDB вычисляется по требованию посредством погружений на страницы BTREE. Поэтому, когда вы запускаете SHOW INDEXES FROM для таблицы InnoDB, отображаемое количество элементов всегда является приблизительным.
ОБНОВЛЕНИЕ 2011-06-21 12:17 ПО ВОСТОЧНОМУ ВРЕМЕНИ
Для разъяснения таблицы АНАЛИЗ, позвольте мне перефразировать. Запуск ANALYZE TABLE для таблиц InnoDB совершенно бесполезен. Даже если вы запустили ANALYZE TABLE для таблицы InnoDB, механизм хранения InnoDB снова и снова выполняет погружения в индекс для приближений мощности, таким образом уничтожая только что скомпилированную статистику . Фактически, Percona провела несколько тестов на ANALYZE TABLE и также пришла к этому выводу.