Heim  >  Artikel  >  Datenbank  >  Wo ist der MySQL-Index?

Wo ist der MySQL-Index?

anonymity
anonymityOriginal
2019-05-24 10:52:3313466Durchsuche

Der Speicherort des MySQL-Index befindet sich in [Datenbankinstallationsverzeichnis Datenbankname]. Ein Index ist eine Datenstruktur, die von Speicher-Engines zum schnellen Auffinden von Datensätzen verwendet wird. Indizes sind entscheidend für eine gute Leistung.

Wo ist der MySQL-Index?

Einführung in Indizes in MySQL

(empfohlenes Video-Tutorial: MySQL-Video-Tutorial)

In MySQL wird der Index auch „Schlüssel“ genannt, eine Datenstruktur, die von der Speicher-Engine zum schnellen Auffinden von Datensätzen verwendet wird.

Indizes sind für eine gute Leistung sehr wichtig, insbesondere wenn die Datenmenge in der Tabelle immer größer wird, wird der Einfluss von Indizes auf die Leistung immer wichtiger.

Indexoptimierung sollte das effektivste Mittel zur Optimierung der Abfrageleistung sein. Um einen wirklich optimalen Index zu erstellen, ist häufig das Umschreiben von SQL-Abfrageanweisungen erforderlich.

Wie Indizes funktionieren

Um zu verstehen, wie Indizes in MySQL funktionieren, ist es am einfachsten, einen Blick auf den Indexteil eines Buches zu werfen: Wenn Sie beispielsweise Wenn Sie nach einem bestimmten Thema in einem Buch suchen, schauen Sie sich normalerweise zuerst das Indexverzeichnis des Buches an. Nachdem Sie das entsprechende Kapitel und die Seitenzahl gefunden haben, können Sie schnell den Inhalt finden, den Sie lesen möchten.

In MySQL verwendet die Speicher-Engine Indizes auf ähnliche Weise. Sie sucht zunächst nach dem entsprechenden Wert im Index, findet dann die entsprechende Datenzeile basierend auf dem passenden Indexdatensatz und gibt schließlich den Datenergebnissatz zurück an den Kunden.

Indextypen

In MySQL beziehen wir uns normalerweise auf die folgenden Indextypen:

Regulärer Index, auch gewöhnlicher Index genannt ( Index oder Schlüssel), was im Allgemeinen die Abfrageeffizienz verbessern kann. Eine Datentabelle kann mehrere reguläre Indizes enthalten. Der herkömmliche Index ist der am häufigsten verwendete Indextyp. Wenn der Indextyp nicht explizit angegeben ist, bezieht sich der Index, auf den wir uns beziehen, auf einen herkömmlichen Index.

Primärschlüsselindex (Primärschlüssel), auch Primärschlüssel genannt. Es kann die Abfrageeffizienz verbessern und eindeutige Einschränkungen bereitstellen. In einer Tabelle kann es nur einen Primärschlüssel geben. Das als automatisch wachsend markierte Feld muss der Primärschlüssel sein, aber der Primärschlüssel wächst nicht unbedingt automatisch. Im Allgemeinen wird der Primärschlüssel in einem bedeutungslosen Feld (z. B. einer Zahl) definiert und der Datentyp des Primärschlüssels ist vorzugsweise ein numerischer Wert.

Unique Key kann die Abfrageeffizienz verbessern und eindeutige Einschränkungen bereitstellen. Für eine Tabelle können mehrere eindeutige Indizes vorhanden sein.

Der Volltextindex (Volltext) kann die Abfrageeffizienz der Volltextsuche verbessern und wird im Allgemeinen durch Sphinx ersetzt. Sphinx unterstützt jedoch keine chinesische Suche. Coreseek ist eine Volltextsuchmaschine, die Chinesisch unterstützt, auch bekannt als Sphinx mit chinesischer Wortsegmentierungsfunktion. Im eigentlichen Projekt verwenden wir Coreseek.

Fremdschlüssel (Fremdschlüssel), auch Fremdschlüssel genannt, können die Abfrageeffizienz verbessern. Fremdschlüssel werden automatisch den entsprechenden Primärschlüsseln anderer Tabellen zugeordnet. Die Hauptfunktion von Fremdschlüsseln besteht darin, die Konsistenz und Integrität von Datensätzen sicherzustellen.

Hinweis: Nur Tabellen mit der InnoDB-Speicher-Engine unterstützen Fremdschlüssel. Wenn das Fremdschlüsselfeld keinen Indexnamen angibt, wird dieser automatisch generiert. Wenn Sie Datensätze in der übergeordneten Tabelle (z. B. der Klassifizierungstabelle) löschen möchten, müssen Sie zuerst die entsprechenden Datensätze in der untergeordneten Tabelle (der Tabelle mit Fremdschlüsseln, z. B. der Artikeltabelle) löschen, da sonst ein Fehler auftritt. Beim Erstellen einer Tabelle können Sie Fremdschlüssel für Felder festlegen, z. B. Fremdschlüssel (cate_id) auf cms_cate (id). Da die Effizienz von Fremdschlüsseln nicht sehr gut ist, wird die Verwendung von Fremdschlüsseln nicht empfohlen, wir müssen sie jedoch verwenden die Idee von Fremdschlüsseln zur Gewährleistung der Datenkonsistenz und -integrität.

Der Speicherort des Datenbankindex

Der Standardwert ist hier (eine bestimmte Datenbank im Datenbankinstallationsverzeichnis data, im Gegensatz zu sqlserver haben die Datenbankdateien ein Suffix

Zum Beispiel:

Datendatei: . myd

Indexdatei: . MYI

Tabellendefinitionsdatei:

Das obige ist der detaillierte Inhalt vonWo ist der 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