Heim  >  Artikel  >  Datenbank  >  Was bedeutet MySQL-Index?

Was bedeutet MySQL-Index?

(*-*)浩
(*-*)浩Original
2019-05-31 15:12:0314333Durchsuche

Was ist ein Index?

Was bedeutet MySQL-Index?

MySQLs offizielle Definition von Index lautet: Index (Index) ist eine Datenstruktur, die MySQL dabei hilft, Daten effizient zu erhalten. Wir können es einfach als eine Datenstruktur verstehen, die schnell durchsucht und sortiert werden kann. Der MySQL-Index hat hauptsächlich zwei Strukturen: B+Tree-Index und Hash-Index. Der Index, auf den wir uns normalerweise beziehen, bezieht sich, sofern nicht anders angegeben, im Allgemeinen auf einen Index, der in einer B-Baumstruktur organisiert ist (B+Tree-Index).

Typen von Indizes

Es gibt viele Arten von Indizes, wie Hash, BTREE, Volltextindex usw. Tatsächlich sind sie unabhängig von der Art dienen alle der Bequemlichkeit in bestimmten Geschäftsszenarien. Algorithmen zum schnellen Auffinden von Daten.

Zum Beispiel ist der Hash-Index, die Schlüsselwertform, das einfachste Buchinhaltsverzeichnis, ähnlich.

Wenn es ein Buch gibt, kennen wir den Titel des Artikels und müssen diesen Artikel zum Lesen finden. Wenn es kein Inhaltsverzeichnis gibt, müssen wir das gesamte Buch durchsehen, um den Titel zu finden.

Aber wenn der Titel allein ist, extrahieren Sie ihn als Schlüssel und verwenden Sie die Seitenzahl als Wert, um den Inhalt schnell zu finden.

Natürlich nimmt das Inhaltsverzeichnis am Anfang des Buches mehrere Seiten ein, und auch der Aufbau eines Indexes verbraucht Ressourcen.

Der BTREE-Index ist ein weiterer Algorithmus, und es wird effizienter sein, entsprechende Indizes in verschiedenen Geschäftsszenarien zu verwenden.

So wie sich das Inhaltsverzeichnis des Xinhua-Wörterbuchs vom Inhaltsverzeichnis gewöhnlicher Bücher unterscheidet, kann das Xinhua-Wörterbuch mithilfe von Pinyin oder radikalen Abfragemethoden schnell die Seite finden, auf der sich ein Wort befindet Art „Index“

Es gibt auch Volltextindizes usw., die hier nicht beschrieben werden. Sie können beispielsweise die von Solr und Elasticsearch verwendeten Algorithmen studieren

Indexkonzept

Die Essenz des Index: Index ist eine Kopie der Feldwerte in der Datenbanktabelle. Dieses Feld wird als Schlüssel des Index bezeichnet.

Der Index ist auch ein Tabelle. Diese Tabelle speichert die Primärschlüssel- und Indexfelder und verweist auf den Datensatz der Entitätstabelle.

Index Wird häufig durch komplexe Datenstrukturen (doppelt verknüpfte Listen, B+-Bäume/B-Bäume, Hashes) implementiert

MyISAM-Speicher-Engine-Tabellen unterstützen Primärindizes, und InnoDB-Speicher-Engine-Tabellen unterstützen Cluster-Indizes (Primärindizes) und Nicht-Cluster-Indizes (Hilfsindex). Die Indexoptimierung nutzt

Vor- und Nachteile Index

@Vorteile:

Die Einrichtung eines MySQL-Index ist für den effizienten Betrieb von MySQL sehr wichtig und kann die Abrufgeschwindigkeit von MySQL erheblich verbessern.

Der Datenabruf in Gruppierungs- und Sortierklauseln kann den Zeitaufwand für das Gruppieren und Sortieren in der Abfragezeit reduzieren (die Datensätze in der Datenbank werden neu geordnet)

Die Verbindungsbedingungen von Tabellenverbindungen können beschleunigt werden Tabellen sind direkt mit Tabellen verbunden

@Nachteile:

Eine übermäßige Verwendung von Indizes führt jedoch zu Indexmissbrauch, erhöht die Abrufgeschwindigkeit und verringert die Aktualisierungsgeschwindigkeit der Tabelle

Beispiel: Beim Hinzufügen, Löschen, Ändern und Abfragen der Tabelle muss MySQL nicht nur die Daten speichern, sondern auch die Indexdatei. Durch das Erstellen des Index wird der Speicherplatz der Indexdatei belegt.

Dies wird der Fall sein Nehmen Sie sich Zeit, um den Index zu erstellen und zu pflegen, da die Daten mit zunehmender Menge zunehmen

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

Stellungnahme:
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