Erfahren Sie mehr über MySQL-Indizes

Erfahren Sie mehr über MySQL-Indizes

1. Indexierungsprinzip

Indizes werden verwendet, um schnell Zeilen mit einem bestimmten Wert in einer Spalte zu finden. Ohne Index müsste MySQL mit dem ersten Datensatz beginnen und dann die gesamte Tabelle lesen, bis es die relevanten Zeilen findet. Je größer der Tisch, desto zeitaufwändiger ist es. Für ein geordnetes Feld kann eine binäre Suche angewendet werden, wodurch die Leistung erheblich verbessert werden kann. Sowohl MYISAM als auch INNODB verwenden B+Tree als Indexstruktur

(Primärschlüssel und eindeutiger Schlüssel fügen standardmäßig einen Index hinzu)

2. Erstellen Sie einen Index

Wenn wir den Index nicht verwenden, führen wir einen vollständigen Tabellenscan durch, wenn wir nach Gehältern über 1500 fragen.

Wann müssen Sie einem Feld einen Index hinzufügen?

-Die Datenmenge in diesem Tabellenfeld ist riesig

-Felder, die häufig durchsucht werden und oft in Where-Klauseln vorkommen

- Es wird nicht empfohlen, Indizes zu Feldern hinzuzufügen, die häufig von DML bearbeitet werden

Ein Index ist wie ein Inhaltsverzeichnis in einem Buch.

Der Primärschlüssel fügt automatisch einen Index hinzu, daher ist die Abfrage auf Basis des Primärschlüssels effizienter.

Wenn Sie häufig auf sal basierende Abfragen durchführen und dabei auf Leistungsengpässe stoßen, prüfen Sie zunächst, ob im Programm ein Algorithmusproblem vorliegt, und ziehen Sie dann eine Indizierung von sal in Betracht. Der Index wird wie folgt erstellt:

1. Erstellen Sie einen eindeutigen Indexnamen für den Tabellennamen (Spaltennamen).

Erstellen Sie einen eindeutigen Index u_ename auf emp(ename).

2. Tabelle Tabellenname ändern, eindeutigen Index Indexnamen (Spaltennamen) hinzufügen;

2. Tabelle Tabellenname ändern, eindeutigen Index Indexnamen (Spaltennamen) hinzufügen; 

3. Index anzeigen

Index von emp anzeigen; 

4. Verwenden Sie Indizes

Beachten Sie, dass Sie select * nicht verwenden dürfen. Sie können type!=all sehen, was darauf hinweist, dass der Index verwendet wird.

Erklären Sie „Select sal from emp“, wobei sal > 1500 ist.

Das „sal“ in der Bedingung verwendet einen Index

Wie oben gezeigt: Wenn wir alle Zeilen finden möchten, bei denen sal größer als 1500 ist, können wir den Index scannen. Der Index wird sortiert und das Ergebnis sind 7 Zeilen. Wir wissen, dass es keine übereinstimmenden Datensätze mehr geben wird und können beenden.

Wenn Sie nach einem Wert suchen, der nicht vor einem Zwischenpunkt in der Indextabelle erscheint, gibt es auch Suchalgorithmen, die den ersten passenden Indexeintrag finden, ohne einen sequentiellen Scan der Tabelle durchzuführen (z. B. binäre Suche).

Auf diese Weise kann der erste passende Wert schnell gefunden werden, was viel Suchzeit spart. Datenbanken nutzen zahlreiche Techniken zum schnellen Auffinden von Indexwerten. Diese Aufgabe obliegt normalerweise dem DBA.

5. Index löschen

DROP INDEX Indexname ON Tabellenname

ALTER TABLE Tabellenname DROP INDEX Indexname

ALTER TABLE Tabellenname DROP PRIMARY KEY

Die ersten beiden Anweisungen sind gleichwertig und löschen den Index index_name in table_name.

Die dritte Anweisung wird nur beim Löschen des PRIMARY KEY-Index verwendet, da eine Tabelle nur einen PRIMARY KEY-Index haben kann.

mysql> ALTER TABLE EMP DROP INDEX test_index;

Nach der Löschung wird der Index nicht mehr verwendet und die Abfrage führt einen vollständigen Tabellenscan durch.

Das Obige ist der detaillierte Inhalt für ein vertieftes Verständnis des MySQL-Index. Weitere Informationen zum MySQL-Index finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • MySQL Create Index-Methode, Syntaxstruktur und Beispiele
  • Detaillierte Erläuterung der kombinierten MySQL-Indexmethode
  • Zusammenfassung der MySQL-Indexkenntnisse
  • Zusammenfassung des Wissens über MySql-Speicher-Engines und Indizes
  • Mysql-Indextypen und grundlegende Anwendungsbeispiele
  • Detaillierte Erläuterung der zugrunde liegenden Implementierung des absteigenden Index, einer neuen Funktion von MySQL 8
  • So verwenden Sie MySQL zur Abdeckung von Index- und Tabellenrückgabe
  • Häufige Szenarien und Vermeidungsmethoden für Indexfehler in MySQL
  • Erweiterte Verwendung von Ansichten, Transaktionen, Indizes, Selbstverbindungen und Benutzerverwaltung in der MySQL-Datenbank – Beispielanalyse
  • Grundlegende Syntax des MySQL-Index

<<:  Win10+Ubuntu 20.04 LTS Dualsysteminstallation (UEFI + GPT) (Bilder und Text, Warnung vor mehreren Bildern)

>>:  Vue3 Vue-Ereignisbehandlungshandbuch

Artikel empfehlen

So halten Sie eine lange Verbindung aufrecht, wenn Sie den Nginx-Reverse-Proxy verwenden

· 【Szenenbeschreibung】 Nach HTTP1.1 unterstützt d...

WebStorm kann die Lösung der Vue3-kombinierten API nicht korrekt identifizieren

1 Problembeschreibung Die kombinierte API von Vue...

So sichern Sie MySQL regelmäßig und laden es auf Qiniu hoch

In den meisten Anwendungsszenarien müssen wir wic...

Installieren Sie Memcached und die PHP Memcached-Erweiterung unter CentOS

In Bezug auf das leistungsstarke verteilte Speich...

Erste Schritte mit Front-End-Vue-Unit-Tests

Inhaltsverzeichnis 1. Warum brauchen wir Unit-Tes...

Vergleich der von der MySQL-Datenbank unterstützten Speicher-Engines

Inhaltsverzeichnis Speicher-Engine Von MySQL unte...

Analysieren von AB-Leistungstestergebnissen unter Apache

Ich habe immer Loadrunner für Leistungstests verw...

Implementierung der Graustufenversion mit Nginx und Lua

Installieren Sie memcached yum install -y memcach...

Beheben Sie den Fehler beim Löschen von MySQL-Benutzern

Als der Autor MySQL zum Hinzufügen eines Benutzer...

Wie stelle ich Tomcat als automatisch gestarteten Dienst ein? Der schnellste Weg

Stellen Sie Tomcat so ein, dass der Dienst automa...

MySql-Import - CSV-Datei oder tabulatorgetrennte Datei

Manchmal müssen wir Daten aus einer anderen Bibli...