Eine kurze Analyse des MySQL-Index

Eine kurze Analyse des MySQL-Index

Ein Datenbankindex ist eine Datenstruktur, deren Zweck darin besteht, die Geschwindigkeit von Tabellenoperationen zu erhöhen. Mithilfe einer oder mehrerer Spalten können Indizes erstellt werden, die schnelle zufällige Suchvorgänge und eine effiziente Sortierung des Zugriffs auf Datensätze ermöglichen.

Um einen Index zu erstellen, sollten Sie darüber nachdenken, welche Spalten für SQL-Abfragen verwendet werden, und einen oder mehrere Indizes für diese Spalten erstellen.

Tatsächlich ist ein Index auch eine Tabelle, die einen Zeiger auf den Primärschlüssel oder das Indexfeld enthält und jeden Datensatz auf den tatsächlichen Tabellentyp verweist.

Indizes sind für Benutzer nicht sichtbar, sie dienen nur zur Beschleunigung von Abfragen und werden von der Datenbanksuchmaschine verwendet, um die Geschwindigkeit beim Auffinden von Datensätzen zu erhöhen.

Das Erstellen von Indizes mit INSERT- und UPDATE-Anweisungen dauert länger, da SELECT-Anweisungen diese Tabellen schnell bearbeiten. Der Grund dafür ist, dass beim Einfügen oder Aktualisieren von Daten die Datenbank auch den eingefügten oder aktualisierten Indexwert aktualisieren muss.

Einfache und eindeutige Indizes

Sie können eindeutige Indizes für eine Tabelle erstellen. Ein eindeutiger Index bedeutet, dass zwei Zeilen nicht denselben Indexwert haben können. Nachfolgend sehen Sie die Syntax zum Erstellen eines Indexes für eine Tabelle:

CREATE UNIQUE INDEX Indexname
ON Tabellenname (Spalte1, Spalte2, ...);

Ein Index kann mithilfe einer oder mehrerer Spalten erstellt werden. Beispielsweise können wir mit tutorial_author einen Index für tutorials_tbl erstellen.

EINDEUTIGEN INDEX ERSTELLEN AUTHOR_INDEX
ON tutorials_tbl (Tutorialautor)

Sie können einen einfachen Index für eine Tabelle erstellen. Um einen einfachen Index zu erstellen, lassen Sie einfach das Schlüsselwort UNIQUE weg. Einfache Indizes können wiederholte Werte in der Tabelle enthalten.

Wenn Sie möchten, dass die Werte der indizierten Spalte absteigend sortiert werden, können Sie nach dem Spaltennamen das reservierte Wort DESC hinzufügen.

mysql> EINDEUTIGEN INDEX AUTHOR_INDEX ERSTELLEN
ON tutorials_tbl (Tutorialautor DESC)

Verwenden des ALTER-Befehls zum Hinzufügen und Löschen von Indizes

Es gibt vier Arten von Indizes, die einer Tabelle hinzugefügt werden können:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): Fügt einen Primärschlüssel (PRIMARY KEY) hinzu, was bedeutet, dass der Indexwert eindeutig sein muss und nicht leer sein darf.
  • ALTER TABLE tbl_name ADD UNIQUE index_name(column_list): Erstellt einen Index, dessen Werte eindeutig sein müssen (außer dass NULL-Werte nicht verwendet werden können, während andere mehrfach vorkommen können).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): fügt einen normalen Index hinzu, in dem jeder Wert mehrfach vorkommt.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list): erstellt einen speziellen FULLTEXT-Index für die Textsuche.

Nachfolgend sehen Sie ein Beispiel für das Hinzufügen eines Indexes zu einer vorhandenen Tabelle.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Ein Index kann durch Verwendung des ALTER-Befehls mit der DROP-Klausel gelöscht werden. Versuchen Sie das folgende Beispiel, um den oben erstellten Index zu löschen.

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

Verwenden Sie den ALTER-Befehl, um einen PRIMARY KEY hinzuzufügen und zu löschen

Auf die gleiche Weise können Sie auch einen Primärschlüssel hinzufügen. Um jedoch sicherzustellen, dass der Primärschlüssel in der Spalte richtig verwendet wird, müssen Sie die Verwendung von NOT NULL angeben.

Nachfolgend sehen Sie ein Beispiel für das Hinzufügen eines Primärschlüssels zu einer vorhandenen Tabelle. Der Spalte muss das Attribut NOT NULL hinzugefügt werden, bevor sie als Primärschlüssel hinzugefügt wird.

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Sie können einen Primärschlüssel mit dem ALTER-Befehl wie folgt löschen:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Um einen Index zu löschen, der kein Primärschlüssel ist, müssen Sie den Indexnamen angeben.

Indexinformationen anzeigen

Mit dem Befehl SHOW INDEX können Sie alle mit einer Tabelle verknüpften Indizes auflisten. Formatiert die Ausgabe vertikal (angegeben durch \G). Dies ist oft nützlich, um lange Zeilen zu vermeiden, die die Ausgabe zusammenfassen:

Versuchen Sie das folgende Beispiel:

mysql> SHOW INDEX FROM Tabellenname\G
........

Zusammenfassen

Oben ist der vom Herausgeber eingeführte MySQL-Index. Ich hoffe, er ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Verwendung und Unterschiede zwischen Indizes und Ansichten in MySQL
  • Ist es notwendig, einen separaten Index für die MySQL-Partitionsfeldspalte zu erstellen?
  • Detaillierte Erklärung redundanter und doppelter Indizes in MySQL
  • Analyse der gemeinsamen Indexfunktion von MySQL und Anwendungsbeispiele
  • Detaillierte Einführung in den MySql-Index und korrekte Verwendungsmethode
  • Lösen Sie das Problem, dass IN-Unterabfragen in MySQL dazu führen, dass der Index unbrauchbar wird
  • Probleme mit Index und FROM_UNIXTIME in MySQL
  • Zusammenfassung der in MySQL häufig verwendeten SQL-Anweisungen zum Erstellen von Tabellen, Hinzufügen von Feldern, Ändern von Feldern und Hinzufügen von Indizes
  • So erstellen Sie einen Index für eine Join-Tabelle in MySQL
  • Tipps und Vorsichtsmaßnahmen zur Verwendung des MySQL-Index
  • Eine kurze Diskussion über MySQL-Index-Designprinzipien und die Unterschiede zwischen gängigen Indizes
  • So fügen Sie eindeutige Indizes für Felder in MySQL hinzu und löschen sie
  • Verwandte Vorgänge zum Hinzufügen und Löschen von Indizes in MySQL
  • Detaillierte Erläuterung der MySQL-Indexoperationsbefehle
  • MySQL ermöglicht die gemeinsame Nutzung von Volltextindizes
  • So ändern Sie eine MySQL-Tabelle, um mehrere Spalten (Felder) und Indizes gleichzeitig hinzuzufügen
  • MySQL verstehen - Zusammenfassung zur Indizierung und Optimierung
  • Detaillierte Erklärung der MySQL-Berechtigungen und -Indizes

<<:  VUE+Express+MongoDB-Frontend- und Backend-Trennung zur Realisierung einer Notizwand

>>:  Lösung für den Konflikt zwischen Nginx und Backend-Port

Artikel empfehlen

Detaillierte Einführung in die Linux-Hostnamenkonfiguration

Inhaltsverzeichnis 1. Konfigurieren Sie den Linux...

JavaScript-Datenvisualisierung: ECharts-Kartenerstellung

Inhaltsverzeichnis Überblick Vorsichtsmaßnahmen 1...

Design Association: Warum haben Sie am falschen Ort gesucht?

Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...

Zehn wichtige Fragen zum Erlernen der Grundlagen von Javascript

Inhaltsverzeichnis 1. Was ist Javascript? 2. Was ...

Grundlegende Verwendung des Befehls wget unter Linux

Inhaltsverzeichnis Vorwort 1. Laden Sie eine einz...

Einige Tipps zur Verwendung von Less in Vue-Projekten

Inhaltsverzeichnis Vorwort 1. Stildurchdringung 1...

So ändern Sie die Systemsprache von CentOS7 in vereinfachtes Chinesisch

veranschaulichen Bei einer Eigeninstallation des ...

Installieren Sie das Linux-System automatisch basierend auf Cobbler

1. Komponenten installieren yum install epel-rpm-...

Grundlegende Syntax und Funktionsweise der MySQL-Datenbank

Grundlegende Syntax der MySQL-Datenbank DDL-Opera...