Jak pokazać wszystkie indeksy w MySQL lub schema

Jak pokazać wszystkie indeksy w MySQL lub schema
Indeks bazy danych MySQL odnosi się do rodzaju struktury danych wykorzystywanej jako organizacja danych w bazie danych i aby pomóc w rozwoju prędkości różnych operacji przeprowadzonych w MySQL.

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:

  1. Tabela: To jest pierwsza kolumna z wyjścia. Pokazuje nazwę tabeli, w której mieszka indeks.
  2. Nie-Unique: Druga kolumna pokazuje, czy indeks może zawierać duplikat. Wartość to logika, z 1 wskazującym, że indeks może zawierać duplikaty i 0, jeśli inaczej.
  3. Nazwa_key: Trzecia kolumna pokazuje nazwę indeksu. Według konwencji klucz podstawowy przyjmuje nazwę indeksu pierwotnego.
  4. Seq_in_index: Czwarta kolumna wyświetla numer sekwencji kolumny w indeksie, zaczynając od wartości 1.
  5. Nazwa kolumny: Piąta kolumna to po prostu nazwa kolumny.
  6. Porównanie: Szósta kolumna to sekcja pokazująca, w jaki sposób kolumna jest sortowana w indeksie. Istnieją trzy wartości sortowania, z tym, że jest rzędem rosnącym, B wskazuje na zejście, a null jako nie-sortowy.
  7. Kardinalność: Siódma kolumna pokazuje wyjątkowość wartości danych. W indeksach pokazuje szacunkową liczbę unikalnych wartości w określonym indeksie.
  8. Sub_part: Ósma kolumna wyświetla prefiks indeksu z NULL, wskazując, że cała kolumna jest indeksowana.
  9. Zapakowane: Dziewiąta kolumna pokazuje, jak pakowane są klawisze indeksu, z null wskazując, że klawisze nie są pakowane.
  10. Zero: Dziesiąta kolumna określa, czy kolumna może zawierać wartości zerowe. Tak, jeśli kolumna może zawierać wartości zerowe i puste, jeśli nie.
  11. Index_type: Jedenasty kolumna pokazuje metodę indeksu, taką jak Btree, Hash, Rtree i FullText.
  12. Komentarz: Dwunastowa kolumna pokazuje informacje o indeksie nie opisanym w jego kolumnie.
  13. Index_comment: Trzynasta kolumna pokazuje dodatkowe informacje o indeksie określonym za pomocą atrybutu komentarza po utworzeniu.
  14. Widoczny: Czternasta kolumna to indeks widoczny dla optymalizatora zapytania, z wartościami tak i nie.
  15. Wyrażenie: Piętnasta kolumna wyświetla się, jeśli indeks używa wyrażenia, a nie wartości kolumny lub kolumny.

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.