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
px (Pixel) Ich glaube, jeder ist mit dem Begriff ...
Ich bin erst vor Kurzem in eine neue Firma einges...
Inhaltsverzeichnis 1. Einführung in die Priorität...
In diesem Artikelbeispiel wird der spezifische Co...
Hintergrund Letzte Woche hat das Unternehmen eine...
Inhaltsverzeichnis Was ist ein Plugin Plugins sch...
Methode 1: Ändern Sie die Konfigurationsdatei (Si...
Wie definiert man komplexe Komponenten (Klassenko...
1. Vorbereitung Beispiel: Zwei Maschinen: 192.168...
So geben Sie das übergeordnete Verzeichnis an ../ ...
1. Fehlerdetails Als ich einmal manuell eine voll...
Inhaltsverzeichnis Fallbeispiel Lösung des Proble...
In diesem Artikelbeispiel wird der spezifische JS...
Schritt 1: Öffnen Sie mit dem Editor die Datei „m...
1. Grundlegende Anwendungsbeispiele für Float 1. ...