Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was ist ein MySQL-Index?

青灯夜游
Freigeben: 2021-12-01 16:14:06
Original
15049 Leute haben es durchsucht

In MySQL ist ein Index eine spezielle Datenbankstruktur, die aus einer oder mehreren Spalten in der Datentabelle besteht. Sie kann verwendet werden, um Datensätze mit einem bestimmten Wert in der Datentabelle schnell abzufragen. Über den Index müssen Sie beim Abfragen von Daten nicht alle Informationen im Datensatz lesen, sondern nur die Indexspalte abfragen.

Was ist ein MySQL-Index?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Ein Index ist eine spezielle Datenbankstruktur, die aus einer oder mehreren Spalten in der Datentabelle besteht. Sie kann verwendet werden, um Datensätze mit einem bestimmten Wert in der Datentabelle schnell abzufragen.

Bei Indizes müssen Sie beim Abfragen von Daten nicht alle aufgezeichneten Informationen lesen, sondern nur die Indexspalten abfragen. Andernfalls liest das Datenbanksystem alle Informationen jedes Datensatzes zum Abgleich.

Der Index kann mit der phonetischen Reihenfolge des Xinhua-Wörterbuchs verglichen werden. Wenn Sie beispielsweise das Wort „ku“ nachschlagen möchten und keine Lautfolge verwenden, müssen Sie es Seite für Seite in den 400 Seiten des Wörterbuchs finden. Wenn Sie jedoch das Pinyin extrahieren, um eine phonetische Sequenz zu bilden, müssen Sie es nur direkt in der Phonetiktabelle von mehr als 10 Seiten nachschlagen. Dadurch kann viel Zeit gespart werden.

Daher kann die Verwendung von Indizes die Abfragegeschwindigkeit der Datenbank erheblich verbessern und die Leistung des Datenbanksystems effektiv verbessern.

Warum einen Index verwenden

Ein Index ist eine Tabelle mit Korrespondenzen zwischen Spaltenwerten und Datensatzzeilen, die in einer bestimmten Reihenfolge basierend auf einer Spalte oder mehreren Spalten in der Tabelle erstellt wird Indexspalte. Eine geordnete Tabelle, die eine Eins-zu-Eins-Entsprechung mit den Datensatzzeilen in der Originaltabelle aufweist.

Index ist ein sehr wichtiges Datenbankobjekt in MySQL. Es ist die Grundlage der Datenbankleistungsoptimierungstechnologie und wird häufig zum schnellen Abrufen von Daten verwendet.

In MySQL gibt es normalerweise zwei Möglichkeiten, auf Zeilendaten einer Datenbanktabelle zuzugreifen:

1) Sequenzieller Zugriff

Sequentieller Zugriff besteht darin, einen vollständigen Tabellenscan in der Tabelle durchzuführen und sie Zeile für Zeile von Anfang bis Ende zu durchlaufen Ende, bis es keine gibt. Suchen Sie nacheinander nach den Zieldaten, die die Bedingungen in den Zeilendaten erfüllen.

Sequentieller Zugriff ist relativ einfach zu implementieren, aber wenn die Tabelle eine große Datenmenge enthält, ist die Effizienz sehr gering. Wenn Sie beispielsweise unter mehreren zehn Millionen Daten nach einer kleinen Datenmenge suchen, werden bei Verwendung des sequentiellen Zugriffs alle Daten durchsucht, was viel Zeit in Anspruch nimmt und sich offensichtlich auf die Verarbeitungsleistung der Datenbank auswirkt.

2) Indexzugriff

Der Indexzugriff ist eine Möglichkeit, durch Durchlaufen des Indexes direkt auf Datensatzzeilen in der Tabelle zuzugreifen.

Die Voraussetzung für die Verwendung dieser Methode besteht darin, einen Index für die Tabelle zu erstellen. Nachdem Sie den Index für die Spalte erstellt haben, können Sie bei der Suche nach Daten direkt die Position der entsprechenden Datensatzzeile basierend auf dem Index für die Spalte finden schnelles Auffinden der Daten. Der Index speichert Zeiger auf die Datenwerte der angegebenen Spalten und sortiert diese Zeiger gemäß der angegebenen Sortierreihenfolge.

Wenn beispielsweise in der Tabelle mit den grundlegenden Studenteninformationen tb_students ein Index basierend auf student_id erstellt wird, erstellt das System eine Zuordnungstabelle von der Indexspalte zum tatsächlichen Datensatz. Wenn der Benutzer die Daten mit student_id 12022 finden muss, findet das System zuerst den Datensatz im Index student_id, dann direkt die Datenzeile über die Zuordnungstabelle und gibt die Datenzeile zurück. Da die Geschwindigkeit beim Scannen des Index im Allgemeinen viel höher ist als die Geschwindigkeit beim Scannen der tatsächlichen Datenzeilen, kann die Verwendung des Index die Effizienz der Datenbank erheblich verbessern.

Kurz gesagt: Ohne die Verwendung eines Index muss MySQL die gesamte Tabelle lesen, beginnend mit dem ersten Datensatz, bis die relevanten Zeilen gefunden werden. Je größer die Tabelle, desto länger dauert die Abfrage der Daten. Wenn die abgefragte Spalte in der Tabelle über einen Index verfügt, kann MySQL schnell an einen Ort zum Durchsuchen der Datendatei gelangen, ohne sich alle Daten ansehen zu müssen, was viel Zeit spart.

Vor- und Nachteile der Indexierung

Die Indexierung hat ihre offensichtlichen Vorteile und ihre unvermeidlichen Nachteile.

Vorteile

Die Vorteile von Indizes sind wie folgt:

  • Durch die Erstellung eines eindeutigen Index kann die Eindeutigkeit jeder Datenzeile in der Datenbanktabelle garantiert werden.

  • Sie können Indizes für alle MySQL-Spaltentypen festlegen.

  • kann die Datenabfrage erheblich beschleunigen, was der Hauptgrund für die Verwendung von Indizes ist.

  • kann die Verbindung zwischen Tabellen beschleunigen, um die referenzielle Integrität von Daten zu erreichen.

  • Bei Verwendung von Gruppierungs- und Sortierklauseln für die Datenabfrage kann auch die Zeit für das Gruppieren und Sortieren in der Abfrage erheblich verkürzt werden

  • Das Erstellen und Verwalten von Indexgruppen nimmt Zeit in Anspruch, und diese Zeit nimmt mit zunehmender Datenmenge zu.

Indizes müssen zusätzlich zum von der Datentabelle belegten Datenspeicherplatz auch eine bestimmte Menge an physischem Speicherplatz belegen. Wenn Sie über eine große Anzahl von Indizes verfügen, erreichen die Indexdateien möglicherweise schneller ihre maximale Dateigröße als die Datendateien.

    Beim Hinzufügen, Löschen und Ändern von Daten in der Tabelle muss der Index auch dynamisch gepflegt werden, was die Geschwindigkeit der Datenpflege verringert.
  • Bei der Verwendung von Indizes müssen Sie die Vor- und Nachteile von Indizes berücksichtigen.
  • 【Verwandte Empfehlungen: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist ein MySQL-Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage