Indizes sind sehr hilfreich. Ohne sie muss MySQL die gesamte Tabelle scannen, um die relevanten Zeilen und Spalten zu finden, die in großen Datenbanken sehr ineffizient sein können.
Dieses Tutorial konzentriert sich darauf, wie Indexinformationen mithilfe der SHOW INDEXES -Klausel in MySQL angezeigt werden können.
Tabellenindizes anzeigen
Um Indexinformationen in einer Tabelle anzuzeigen, verwenden wir die SHOW -Indexesklausel, gefolgt vom Namen der Tabelle, die wir die Indexinformationen erhalten möchten.
Die allgemeine Syntax wird als:
Zeigenindizes TBL_NAME;
Betrachten Sie beispielsweise einen der Tabellen in der Sakila -Beispieldatenbank. Wir können die Indexinformationen wie in der folgenden Abfrage erhalten:
Benutze Sakila;
Indexen aus dem Film zeigen;
In der obigen Abfrage werden Indexinformationen aus der Filmtabelle in der Sakila -Datenbank angezeigt. Die Ausgabe ist:
Indexinformationen verstehen
Der Befehl show Indizes zeigt die relevanten Informationen zu den Indizes in der angegebenen Tabelle an.
Hier sind die folgenden Begriffe und ihre jeweiligen Informationen bereitgestellt:
HINWEIS: Die Informationen über die Indizes aus der Abfrage der Show -Indizes ähneln der von SQLStatistics.
Schema -Indizes zeigen
Sie können auch Indexinformationen zu einem Schema erhalten. Die allgemeine Syntax zum Erreichen dieses Ergebnisses ist wie unten:
Wählen Sie table_name, index_name aus Information_schema.Statistiken wobei table_schema = "schema_name";
Betrachten Sie die folgende Abfrage, die Informationen zum Sakila -Schema zeigt:
Wählen Sie table_name, index_name aus Information_schema.Statistiken wobei table_schema = "sakila";
Dadurch werden Informationen zu den Indizes im Sakila -Schema angezeigt, wie in der folgenden Ausgabe gezeigt:
+---------------+-----------------------------+
| Table_name | INDEX_NAME |
+---------------+-----------------------------+
| Schauspieler | Primär |
| Schauspieler | idx_actor_last_name |
| Adresse | Primär |
| Adresse | idx_fk_city_id |
| Adresse | idx_location |
| Kategorie | Primär |
| Stadt | Primär |
| Stadt | idx_fk_country_id |
| Land | Primär |
| Kunde | Primär |
| Kunde | idx_fk_store_id |
| Kunde | idx_fk_address_id |
| Kunde | idx_last_name |
| Film | Primär |
| Film | idx_title |
| Film | IDX_FK_LUGANAGE_ID |
| Film | IDX_FK_ORIGINAL_LANGUAGE_ID |
| film_actor | Primär |
| film_actor | Primär |
| film_actor | IDX_FK_FILM_ID |
| film_category | Primär |
| film_category | Primär |
| film_category | fk_film_category_category |
| film_text | Primär |
| film_text | idx_title_description |
| film_text | idx_title_description |
| Inventar | Primär |
| Inventar | IDX_FK_FILM_ID |
| Inventar | idx_store_id_film_id |
| Inventar | idx_store_id_film_id |
| --------------------------------- Ausgang abgeschnitten--------------------------
Sie können auch Informationen aus allen Schemas auf dem Server mit der unten angegebenen Abfrage abrufen:
Wählen Sie table_name, index_name aus Information_schema.Statistiken;
NOTIZ: Die obige Abfrage entpackt viele Informationen. Selten müssen Sie Indizes aus allen Schemas erhalten. Eine Stichprobenausgabe ist jedoch unten:
+--------------------+------------+
| Table_name | INDEX_NAME |
+--------------------+------------+
| innoDb_table_stats | Primär |
| innoDb_table_stats | Primär |
| innoDb_index_stats | Primär |
| innoDb_index_stats | Primär |
| innoDb_index_stats | Primär |
+--------------------+------------+
Abschluss
In diesem Tutorial haben wir besprochen, wie die Abfrage von MySQL Show -Indizes verwendet wird, um Informationen über die Indizes in einer Tabelle zu erhalten. Wir haben uns auch mithilfe des Information_Schema angesehen, um Informationen über die Indizes aus einem oder allen Schemas auf einem MySQL -Server zu erhalten.