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ś!