Vorteile und Nachteile des MySQL Advanced Learning Index sowie Nutzungsregeln

Vorteile und Nachteile des MySQL Advanced Learning Index sowie Nutzungsregeln

1. Vor- und Nachteile von Indizes

Vorteile: schnelles Auffinden, schnelleres Gruppieren und Sortieren

Nachteile: Beansprucht Speicherplatz und reduziert die Anzahl der Änderungen an der Datentabelle

2. Klassifizierung der Indizes

Primärschlüsselindex Das heißt, der Primärindex wird basierend auf dem Primärschlüssel pk_clolum (Länge) erstellt und Duplikate sowie Nullwerte sind nicht zulässig.
Eindeutiger Index Die Werte der zum Erstellen des Index verwendeten Spalten müssen eindeutig sein und Nullwerte sind zulässig.
Normaler Index Ein Index, der mit normalen Spalten in einer Tabelle ohne jegliche Einschränkungen erstellt wird
Volltextindex Index basiert auf Spalten großer Textobjekte
Volltextindex Indizes, die mit Spalten großer Textobjekte erstellt wurden;
Zusammengesetzter Index Ein Index, der aus mehreren Spalten aufgebaut ist. Die Werte in diesen Spalten erlauben keine Nullwerte.

3. Regeln für die Verwendung von Indizes

1. Für die Indizierung geeignete Situationen

  • Der Primärschlüssel erstellt automatisch einen eindeutigen Index;
  • Spalten, die häufig als Abfragebedingungen in WHERE- oder ORDER BY-Anweisungen vorkommen, sollten indiziert werden.
  • Die zu sortierende Spalte muss indiziert sein;
  • Die mit anderen Tabellen in der Abfrage verknüpften Felder und Fremdschlüsselbeziehungen werden indiziert.
  • Bevorzugen Sie kombinierte Indizes bei hoher Parallelität.
  • Für Aggregatfunktionen verwendete Spalten können indiziert werden. Beispielsweise muss column_1 indiziert werden, wenn max(column_1) oder count(column_1) verwendet wird.

2. Situationen, in denen die Indizierung nicht geeignet ist

  • Erstellen Sie keine Indizes für Spalten, die häufig hinzugefügt, gelöscht oder geändert werden.
  • Es gibt viele wiederholte Spalten, die nicht indiziert sind.
  • Erstellen Sie keinen Index, wenn die Tabelle zu wenige Datensätze hat.

3. Indexfehler

  • Ein zusammengesetzter Index darf keinen NULL-Wert enthalten. Wenn dies der Fall ist, ist diese Spalte für den zusammengesetzten Index ungültig.
  • Bei der LIKE-Operation verwendet „%aaa%“ den Index nicht, d. h. der Index ist ungültig, aber „aaa%“ kann den Index verwenden.
  • Die Verwendung von Ausdrücken oder Funktionen auf indizierten Spalten macht den Index ungültig.
  • Verwenden Sie „ungleich“ in der Abfragebedingung, einschließlich der Symbole <, > und ! = führt zum Fehlschlagen des Index;
  • Die Verwendung von IS NULL oder IS NOT NULL in der Abfragebedingung führt dazu, dass der Index ungültig wird.
  • Wenn die Zeichenfolge nicht in einfache Anführungszeichen eingeschlossen ist, ist der Index ungültig.
  • Die Verwendung von „OR“ zum Verbinden mehrerer Bedingungen in einer Abfrage führt zu einem Indexierungsfehler, sofern nicht jede durch „OR“ verknüpfte Bedingung indiziert wird.
  • Wenn das Sortierfeld einen Index verwendet, muss das ausgewählte Feld auch ein Indexfeld sein, sonst ist der Index ungültig.
  • Vermeiden Sie möglichst die Sortierung mehrerer Spalten. Wenn dies unbedingt erforderlich ist, erstellen Sie am besten einen zusammengesetzten Index für die Warteschlange.

4. SQL über Index

1. Beim Erstellen der Tabelle einen Index hinzufügen

-- Fügt beim Erstellen einer Tabelle einen Index hinzu -- INDEX-Schlüsselwort -- myindex Selbst gewählter Indexname -- (Benutzername(16)), zu welcher Spalte er hinzugefügt werden soll CREATE TABLE mytable(
 ID INT NICHT NULL,
 Benutzername VARCHAR(16) NOT NULL,
 INDEX myindex (Benutzername(16))
);

2. Fügen Sie nach dem Erstellen der Tabelle einen Index hinzu

-- Index hinzufügen -- myindex Indexname (selbst definiert)
-- mytable Tabellenname CREATE INDEX myindex ON mytable(Benutzername(16));
oder ALTER TABLE mytable ADD INDEX myindex(Benutzername);

3 Index anzeigen

--mytable-Tabellenname zeigt Index FROM mytable;

4. Index löschen

-- myindex Indexname (selbst definiert)
--mytable-Tabellenname DROP INDEX myindex ON mytable;
oder ALTER TABLE mytable DROP INDEX myindex;

Zusammenfassen

Dies ist das Ende dieses Artikels über die Vor- und Nachteile der Indizierung und die Verwendung von Regeln für fortgeschrittenes MySQL-Lernen. Weitere relevante Inhalte zur erweiterten MySQL-Indizierung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • mysql Index hinzufügen mysql wie man einen Index erstellt
  • Zusammenfassung der MySQL-Indextypen sowie Tipps und Vorsichtsmaßnahmen bei der Verwendung
  • So zeigen Sie Indizes in MySQL an, erstellen und löschen sie
  • MySQL Create Index-Methode, Syntaxstruktur und Beispiele
  • MySQL Leistungsoptimierung Indexoptimierung
  • Analyse mehrerer Situationen, in denen MySQL-Indizes fehlschlagen
  • Analyse der Verbindung und des Unterschieds zwischen MySQL-Primärschlüssel und -Index
  • Vertieftes Verständnis basierend auf dem MySQL-Volltextindex
  • Lösen Sie das Problem, dass IN-Unterabfragen in MySQL dazu führen, dass der Index unbrauchbar wird
  • MySQL-Indexanalyse und -Optimierung

<<:  Beispiel zum Ändern von Stilen über CSS-Variablen

>>:  Eine kurze Diskussion zum Problem des Docker-Run-Containers im erstellten Status

Artikel empfehlen

MySQL-Datenaggregation und -gruppierung

Wir müssen Daten häufig zusammenfassen, ohne sie ...

Ubuntu öffnet Port 22

Szenario Sie müssen das Xshell-Tool verwenden, um...

Analyse und Lösung des beim Start von MySQL gemeldeten Fehlers „ERROR:2002“

Vorwort Dieser Artikel stellt hauptsächlich die A...

Hinweise zum passenden MySql 8.0 und entsprechenden Treiberpaketen

MySql 8.0 entsprechendes Treiberpaket passend Nac...

Semantisierung von HTML-Tags (einschließlich H5)

einführen HTML stellt die kontextuelle Struktur u...

Tutorial zur Installation von lamp-php7.0 in einer Centos7.4-Umgebung

Dieser Artikel beschreibt, wie lamp-php7.0 in ein...

Warum verwendet der MySQL-Datenbankindex den B+-Baum?

Bevor wir weiter analysieren, warum der MySQL-Dat...

Ausführliches Tutorial zur Installation von MySql 5.6.35 winx64

Hinweis: Beim Projektstart ist kein Fehler aufgru...

Implementierung des Docker-Buildings für Maven+Tomcat-Basisimages

Vorwort In der Java-Programmierung werden die mei...

MySQL-Implementierung des Funktionsbeispiels „lastInfdexOf“

Manchmal muss MySQL eine Funktion ähnlich zu last...

So konfigurieren Sie Linux CentOS für die regelmäßige Ausführung von Skripten

Oft möchten wir, dass der Server regelmäßig ein S...