Indeksy są bardzo pomocne. Bez nich MySQL musi zeskanować całą tabelę, aby znaleźć odpowiednie wiersze i kolumny, które mogą być bardzo nieefektywne w dużych bazach danych.
Ten samouczek skupi się na tym, jak przeglądać informacje o indeksie za pomocą klauzuli Pokaż indeksy w MySQL.
Pokaż indeksy tabeli
Aby wyświetlić informacje o indeksie w tabeli, używamy klauzuli Pokaż indeksy, po której następuje nazwa tabeli, którą chcemy uzyskać informacje o indeksie.
Ogólna składnia jest pokazana jako:
Pokaż indeksy tbl_name;
Rozważ na przykład jedną z tabel w bazie danych Sakila próbki. Możemy uzyskać informacje o indeksie, jak pokazano w pytaniu poniżej:
Użyj Sakila;
Pokaż indeksy z filmu;
Powyższe zapytanie wyświetli informacje indeksu z tabeli filmowej w bazie danych Sakila. Wyjście to:
Zrozumienie informacji indeksu
Polecenie Pokaż indeksy wyświetla odpowiednie informacje o indeksach w określonej tabeli.
Oto następujące warunki i ich odpowiednie informacje:
WSKAZÓWKA: Informacje o indeksach z zapytania indeksy show są podobne do informacji o sqlstatistics.
Pokaż indeksy schematu
Możesz także uzyskać informacje o indeksie o schemacie. Ogólna składnia do osiągnięcia tego wyniku jest jak poniżej:
Wybierz nazwę_płyną, nazwa_zadu z Information_Schema.Statystyki gdzie table_schema = „Schema_name”;
Rozważ pytanie poniżej, które pokazuje informacje o schemacie Sakila:
Wybierz nazwę_płyną, nazwa_zadu z Information_Schema.Statystyki gdzie table_schema = "sakila";
Wyświetli to informacje o indeksach w schemacie Sakila, jak pokazano na poniższym wyjściu:
+---------------+-----------------------------+
|. Table_name | Index_name |
+---------------+-----------------------------+
|. aktor | Podstawowy |
|. aktor | IDX_ACTOR_LAST_NAME |
|. Adres | Podstawowy |
|. Adres | idx_fk_city_id |
|. Adres | IDX_LOACOCation |
|. kategoria | Podstawowy |
|. miasto | Podstawowy |
|. miasto | idx_fk_country_id |
|. kraj | Podstawowy |
|. Klient | Podstawowy |
|. Klient | idx_fk_store_id |
|. Klient | idx_fk_address_id |
|. Klient | IDX_LAST_NAME |
|. Film | Podstawowy |
|. Film | idx_title |
|. Film | idx_fk_language_id |
|. Film | idx_fk_original_language_id |
|. Film_actor | Podstawowy |
|. Film_actor | Podstawowy |
|. Film_actor | idx_fk_film_id |
|. film_category | Podstawowy |
|. film_category | Podstawowy |
|. film_category | fk_film_category_category |
|. film_text | Podstawowy |
|. film_text | idx_title_description |
|. film_text | idx_title_description |
|. Inwentaryzacja | Podstawowy |
|. Inwentaryzacja | idx_fk_film_id |
|. Inwentaryzacja | idx_store_id_film_id |
|. Inwentaryzacja | idx_store_id_film_id |
| -----------------------------------------------------
Możesz także uzyskać informacje ze wszystkich schematów na serwerze za pomocą zapytania pokazanego poniżej:
Wybierz nazwę_płyną, nazwa_zadu z Information_Schema.Statystyka;
NOTATKA: Powyższe zapytanie zrzuca wiele informacji. Rzadko będziesz musiał uzyskać indeksy ze wszystkich schematów. Jednak przykładowy wynik znajduje się poniżej:
+--------------------+------------+
|. Table_name | Index_name |
+--------------------+------------+
|. innodb_table_stats | Podstawowy |
|. innodb_table_stats | Podstawowy |
|. innodb_index_stats | Podstawowy |
|. innodb_index_stats | Podstawowy |
|. innodb_index_stats | Podstawowy |
+--------------------+------------+
Wniosek
W tym samouczku omówiliśmy, jak korzystać z zapytania MySQL Pokaż indeksy, aby uzyskać informacje o indeksach w tabeli. Przyjrzeliśmy się również korzystania z Information_Schema, aby uzyskać informacje o indeksach z jednego lub wszystkich schematów na serwerze MySQL.