So zeigen Sie alle Indizes in MySQL oder Schema

So zeigen Sie alle Indizes in MySQL oder Schema
Der MySQL -Datenbankindex bezieht.

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:

  1. Tisch: Dies ist die erste Spalte aus der Ausgabe. Es zeigt den Namen der Tabelle an, in der sich der Index befindet.
  2. Nicht eindeutig: Die zweite Spalte zeigt, ob der Index ein Duplikat enthalten kann. Der Wert ist ein Booleschen.
  3. KEY_NAME: Die dritte Spalte zeigt den Namen des Index an. Nach Konvent.
  4. Seq_in_index: In der vierten Spalte wird die Spaltensequenznummer im Index angezeigt, die vom Wert von 1 beginnt.
  5. Spaltenname: Die fünfte Spalte ist einfach der Spaltenname.
  6. Kollation: Die sechste Spalte ist ein Abschnitt, der zeigt, wie die Spalte im Index sortiert wird. Es gibt drei Sortierwerte, wobei A die aufsteigende Reihenfolge, B die absteigende Ordnung und Null als nicht sortiert angibt.
  7. Kardinalität: Die siebte Spalte zeigt die Einzigartigkeit des Datenwerts. In den Indizes zeigt es die geschätzte Anzahl der eindeutigen Werte im spezifischen Index an.
  8. Sub_part: Die achte Spalte zeigt das Indexpräfix mit NULL an, wodurch die gesamte Spalte indiziert ist.
  9. Gepackt: Die neunte Spalte zeigt, wie die Indexschlüssel gepackt werden, wobei Null angibt, dass die Schlüssel nicht gepackt sind.
  10. Null: Die zehnte Spalte gibt an, ob die Spalte Nullwerte enthalten kann. Ja, wenn die Spalte Nullwerte enthalten kann, und wenn nicht, leer.
  11. INDEX_TYPE: Die elfte Spalte zeigt die Indexmethode wie Btree, Hash, Rtree und FullText.
  12. Kommentar: Die zwölfte Spalte zeigt die Informationen zu einem Index, der in seiner Spalte nicht beschrieben ist.
  13. INDEX_COMMENT: Die dreizehnte Spalte zeigt zusätzliche Informationen zum Index an, das beim Erstellen mit dem Kommentarattribut angegeben ist.
  14. Sichtbar: Die vierzehnte Spalte ist der für den Abfrageoptimierer sichtbare Index mit Werten von Ja und Nein.
  15. Ausdruck: Die fünfzehnte Spalte zeigt an, ob der Index einen Ausdruck verwendet und nicht einen Spalten- oder Spaltenpräfixwert.

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.