1. Indextyp 1. B+ BaumWarum B+-Baum statt B-Baum? Sehen wir uns zunächst die strukturellen Unterschiede zwischen B-Baum und B+-Baum an. B-Baum-Struktur: B+ Baum: Sie können sehen:
2. Was sind die Unterschiede zwischen den B+-Baumindeximplementierungen von MyISAM und InnoDB (Clusterindex und Nicht-Clusterindex)?Zuerst müssen Sie gruppierte und nicht gruppierte Indizes verstehen. Gruppierter Index: In einem gruppierten Index enthalten die Blattseiten alle Daten für die Zeile und die Knotenseiten die Indexspalten. InnoDB clustert Daten nach Primärschlüssel. Wenn kein Primärschlüssel definiert ist, wird stattdessen eine eindeutige, nicht leere Indexspalte ausgewählt. Wenn kein solcher Index vorhanden ist, definiert InnoDB implizit einen Primärschlüssel als Clusterindex. Datenverteilung des Clustered-Index: In einem Clustered-Index gibt es neben dem Primärschlüsselindex auch einen Sekundärindex. Die Blattknoten im sekundären Index speichern keine „Zeilenzeiger“, sondern Primärschlüsselwerte, die als „Zeiger“ auf die Zeilen verwendet werden. Dies bedeutet, dass die Speicher-Engine beim Suchen nach einer Zeile über einen Sekundärindex den Blattknoten des Sekundärindex finden muss, um den entsprechenden Primärschlüsselwert zu erhalten, und dann basierend auf diesem Wert nach der entsprechenden Zeile im Clustered-Index suchen muss, was auch als "zurück zur Tabelle" bezeichnet wird. Natürlich können Sie Tabellenwiederholungen vermeiden, indem Sie abdeckende Indizes oder adaptive Indizes von
3. Nicht gruppierter IndexDer Primärschlüsselindex und der Sekundärindex eines nicht gruppierten Indexes unterscheiden sich in ihrer Struktur nicht; beide speichern „Zeilenzeiger“, die auf die physische Adresse der Daten auf den Blattknoten zeigen. Primärschlüsselindex und Sekundärindex des gruppierten Indexes: Primärschlüsselindex und Sekundärindex des nicht gruppierten Indexes: 4. Vor- und Nachteile des Clustered-IndexVorteil: Speichern Sie zusammengehörige Daten zusammen (gruppieren Sie beispielsweise alle E-Mails des Benutzers nach Benutzer-ID), da sonst jeder Datenlesevorgang zu einem Festplatten-E/A führen kann. Mangel: Wenn alle Daten im Speicher abgelegt werden können, ist ein sequentieller Zugriff nicht mehr erforderlich und gruppierte Indizes haben keinen Vorteil. Die Einfügegeschwindigkeit hängt von der Einfügereihenfolge ab. Zufälliges Einfügen kann zu Seitenaufteilungen und Löchern führen. Verwenden Sie OPTIMIZE TABLE, um die Tabelle neu zu erstellen. Jedes Einfügen, Aktualisieren und Löschen erfordert die Wartung von Indexänderungen, was sehr teuer ist. Sekundärindizes können größer als erwartet sein, da die Primärschlüsselspalten der referenzierten Zeilen im Knoten enthalten sind. 5. Hash-IndexHash-Indizes werden auf Basis von Hash-Tabellen implementiert. Nur Abfragen, die mit allen Spalten des Indexes exakt übereinstimmen, sind gültig. Das bedeutet, dass Hash-Indizes für Abfragen mit gleichen Werten geeignet sind.
In MySQL unterstützt nur die
6. Adaptiver Hash-Index Wenn Dies ist das Ende dieses Artikels über die Details der zugrunde liegenden Datenstruktur von MySQL-Indizes. Weitere Informationen zur zugrunde liegenden Datenstruktur von MySQL-Indizes finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Lösung zur Verwendung der Baidu-Freigabe auf der HTTPS-Seite
Egal ob Sie Webdesigner oder UI-Designer sind, di...
Im Vergleich zu vue2 verfügt vue3 über ein zusätz...
Ergebnisse erzielen Implementierungscode html <...
Linux-Dateiberechtigungen Überprüfen wir zunächst...
In vertikaler Richtung können Sie die Zeilenausri...
In diesem Artikel wird der spezifische JavaScript...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...
Inhaltsverzeichnis Deinstallieren und installiere...
Schöner Code ist die Grundlage einer schönen Websi...
Inhaltsverzeichnis Allgemeine Entwicklung von Upl...
Jeder weiß, dass Bilder auf Webseiten im Allgemein...
<br />Es ist nicht länger als zwei Jahre her...
Inhaltsverzeichnis Vorwort Was sind Metadaten? Ad...
In diesem Artikel wird der Implementierungscode d...
<br />In der HTML-Sprache können Sie der Tab...