Wiele razy może być konieczne wyświetlenie listy wszystkich indeksów w MySQL lub wyświetlenie wszystkich indeksów w MySQL. Oto jak wyświetlić indeksy w MySQL za pomocą polecenia SHOW INDEX w MySQL.
MySQL pokazuje indeksy w bazie danych
Oto kroki, aby wyświetlić indeksy w MySQL. Użyjemy instrukcji SHOW INDEXES, aby wyświetlić listę wszystkich indeksów w bazie danych.
Oto składnia dla POKAŻ INDEKSY
SHOW INDEXES FROM table_name;
LUB
SHOW INDEXES FROM db_name.table_name;
LUB
SHOW INDEXES FROM table_name in db_name;
LUB
SHOW KEYS FROM table_name in db_name;
W powyższym zapytaniu musisz określić nazwę tabeli i nazwę bazy danych, dla której chcesz wyświetlić indeksy.
Przeczytaj bonus:MySQL Porównaj bazy danych
MySQL Pokaż indeksy dla tabeli
Oto przykład, aby wyświetlić listę wszystkich indeksów dla tabeli (np. Przykład) w MySQL. Zastąp ją nazwą swojej tabeli.
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 | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Dane wyjściowe wyświetlają wiele atrybutów każdego indeksu, w tym liczność, nazwę klucza, nazwę kolumny itp.
Przeczytaj bonus:Procedura składowana MySQL Alter
MySQL pokazuje indeksy dla wszystkich tabel w bazie danych
Oto zapytanie SQL, które wyświetla listę wszystkich indeksów w określonym schemacie bazy danych MySQL (np. przykładowym) wymienionym pogrubieniem
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 |
+---------------+---------------+
Przeczytaj dodatkowe:Lista wszystkich procedur MySQL
Rozmiar INDEKSU POKAŻ MySQL
Długość indeksu jest przechowywana w tabeli information_schema.tables. Oto zapytanie SQL, aby pokazać rozmiar indeksu w MySQL dla określonej „próbki” bazy danych. Zastąp ją nazwą swojej bazy danych.
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 |
| ... | ... | ... | ... |
+----------------+----------------+-----------------+---------------+
Przeczytaj bonus:hasło root resetowania MySQL
Wymień wszystkie indeksy wszystkich schematów bazy danych
Oto zapytanie SQL, które pokazuje indeksy wszystkich tabel w schemacie bazy danych MySQL, do którego masz dostęp.
SELECT
DISTINCT TABLE_NAME,
INDEX_NAME
FROM
INFORMATION_SCHEMA.STATISTICS;
Mamy nadzieję, że teraz możesz łatwo wyświetlać indeksy w MySQL.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!