Много пъти може да се наложи да изброите всички индекси в MySQL или да покажете всички индекси в MySQL. Ето как да показвате индекси в MySQL с помощта на команда SHOW INDEX в MySQL.
MySQL показване на индекси в базата данни
Ето стъпките за показване на индекси в MySQL. Ще използваме оператора SHOW INDEXES, за да изброим всички индекси в базата данни.
Ето синтаксиса за ПОКАЗВАНЕ НА ИНДЕКСИТЕ
SHOW INDEXES FROM table_name;
ИЛИ
SHOW INDEXES FROM db_name.table_name;
ИЛИ
SHOW INDEXES FROM table_name in db_name;
ИЛИ
SHOW KEYS FROM table_name in db_name;
В горната заявка трябва да посочите името на таблицата и името на базата данни, за които искате да покажете индекси.
Бонус четене:MySQL Сравнете бази данни
MySQL показване на индекси за таблица
Ето пример за изброяване на всички индекси за таблица (напр. проба) в MySQL. Заменете го с името на вашата таблица.
mysql> show indexes from cities in sample; +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | cities | 0 | PRIMARY | 1 | city_id | A | 0 | NULL | NULL | | BTREE | | | | cities | 1 | country_id | 1 | country_id | A | 0 | NULL | NULL | | BTREE | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Резултатът показва много атрибути на всеки индекс, включително кардиналност, име на ключ, име на колона и т.н.
Бонус за четене:MySQL Alter Stored Procedure
MySQL показва индекси за всички таблици в базата данни
Ето SQL заявката за изброяване на всички индекси в конкретна схема на база данни на MySQL (напр. проба), спомената в удебелен
mysql> SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'sample'; +---------------+---------------+ | TABLE_NAME | INDEX_NAME | +---------------+---------------+ | categories | PRIMARY | | cities | PRIMARY | | cities | country_id | | countries | PRIMARY | | old_orders | u_orders | | orders | PRIMARY | | orders_list | PRIMARY | | recent_orders | order_id | | recent_orders | unique_amount | | x_orders | PRIMARY | +---------------+---------------+
Бонус четене:MySQL списък с всички процедури
MySQL SHOW INDEX Size
Дължината на индекса се съхранява в таблицата information_schema.tables. Ето SQL заявката за показване на размера на индекса в MySQL за конкретна база данни „извадка“. Заменете го с името на вашата база данни.
mysql> SELECT table_name, concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'data_length_mb', concat( round( index_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'index_length_mb', concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'total_size_mb' FROM information_schema.tables WHERE table_schema ='sample' ORDER BY data_length desc; +----------------+----------------+-----------------+---------------+ | table_name | data_length_mb | index_length_mb | total_size_mb | +----------------+----------------+-----------------+---------------+ | meeting | 0.02Mb | 0.00Mb | 0.02Mb | | sample_data | 0.02Mb | 0.00Mb | 0.02Mb | | ... | ... | ... | ... | +----------------+----------------+-----------------+---------------+
Бонус за четене:MySQL Reset Root Password
Избройте всички индекси на всички схеми на базата данни
Ето SQL заявката за показване на индекси на всички таблици в цялата схема на база данни на MySQL, до която имате достъп.
SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS;
Надяваме се, че сега можете лесно да изброите индекси в MySQL.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!