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

Detaillierte Einführung in die Mysql-Datumsabfrage

Abfrage des aktuellen Datums AKTUELLES DATUM AUSW...

Häufige CSS-Fehler und Lösungen

Code kopieren Der Code lautet wie folgt: Untersch...

Verzeichnisberechtigungen beim Erstellen eines Containers mit Docker

Als ich gestern ein Projekt schrieb, musste ich d...

jQuery realisiert Bildhervorhebung

Es ist sehr üblich, Bilder auf einer Seite hervor...

Warum wird für die Webseitenkodierung UTF-8 statt GBK oder GB2312 verwendet?

Wenn Sie die Wahl haben, sollten Sie UTF-8 verwen...

Die neueste Installations- und Konfigurationsmethode für MySQL-5.7.21

1. Entpacken Sie das heruntergeladene MySQL-Kompr...

Vant+postcss-pxtorem implementiert Browser-Anpassungsfunktion

Rem-Layout-Anpassung Die Stile in Vant verwenden ...

Detaillierter Vergleich von Ember.js und Vue.js

Inhaltsverzeichnis Überblick Warum ein Framework ...