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 und Verwendungsbeispiele für Map-Tag-Parameter

Karten-Tags müssen paarweise vorkommen, d. h. <...

MySQL-Lernnotizen zum Umgang mit doppelten Daten

MySQL verarbeitet doppelte Daten Einige MySQL-Tab...

Verwenden Sie HTML und CSS, um Ihren eigenen warmen Mann „Dabai“ zu erstellen.

Das Endergebnis sieht so aus, ist es nicht süß … ...

favico.ico --- Schritte zum Einrichten des Website-ICO-Symbols

1. Laden Sie die erfolgreich generierte Symboldate...

Vollständige Analyse der Webseitenelemente

Relative Längeneinheiten em Beschreibung: Relative...

Aufbau einer Docker+K8S-Clusterumgebung und verteilte Anwendungsbereitstellung

1. Docker installieren yum installiere Docker #St...

Detaillierte Erklärung der integrierten Methoden des Javascript-Arrays

Inhaltsverzeichnis 1. Array.at() 2. Array.copyWit...

SQL-Methode zum Berechnen der Zeitstempeldifferenz

SQL-Methode zum Berechnen der Zeitstempeldifferen...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.18 winx64

Die Installation komprimierter Pakete hat sich se...

Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux

Die /Partitionsauslastung eines Servers im IDC is...