Sortieren von MySQL-Indexdaten
Im vorherigen Artikel wurden nur kurz einige Strukturen und Speichermethoden von B-TREE vorgestellt, aber die Beziehung zwischen Index und Daten scheint immer noch nicht miteinander verbunden zu sein.
In diesem Artikel wird also ein Beispiel für In welcher Reihenfolge werden die Datenzeilen nach dem Erstellen des Index nach B+TREE sortiert?
1. Simulieren und erstellen Sie Originaldaten
In der Abbildung unten sind die simulierten Daten auf der linken Seite für mich dargestellt. Die Engine ist mysiam~
Die rechte Seite ist eine normale Simulationsdatentabelle nach zufälliger Anordnung mit EXCEL. Die Primärschlüssel werden dann nach 1-27 angeordnet (wenn es nicht zufällig ist, werde ich es eintragen). Reihenfolge beim Simulieren der Daten. Das Hinzufügen eines Index macht es schwierig, den Indexsortierungsprozess zu erkennen.
Mit anderen Worten, die Daten auf der rechten Seite, sodass die Originaldaten, die wir testen möchten, zuvor so sortiert wurden Der Index wurde erstellt und alle nachfolgenden Daten werden nach Standard sortiert, sodass Sie den Sortiereffekt nach der Indexgenerierung besser sehen können.
Die Tabelle hat 4 Felder (id, a, b, c) mit insgesamt 27 Datenzeilen
2. Erstellen Sie Index a
Wie in der folgenden Abbildung gezeigt, ändert sich die Indexstruktur nach dem Erstellen von Index a von der ursprünglichen Sortierung nach der Primärschlüssel-ID zu einer neuen Regel. Wir sagen, dass der Index tatsächlich eine Datenstruktur ist. Erstellen Sie dann den Index a, der eine neue Struktur erstellen soll, und sortieren Sie nach den Regeln von Feld a. Die erste Datenzeile, die durch die Primärschlüssel-ID dargestellt wird, ist 1, die zweite Datenzeile, dargestellt durch ID = 3, und die dritte Datenzeile dargestellt durch die Datenzeile ID=5. . .
Neue Sortier-Primärschlüssel-ID (ID stellt ihre Datenzeile dar): 1 3 5 6 9 16 18 23 26 2 10 11 12 13 14 15 20 25 4 7 8 17 19 21 22 24 27
Wenn das Feld a gleich ist, ist es nicht schwer herauszufinden, dass sie vor und nach der Anordnung entsprechend der Primärschlüssel-ID angeordnet sind Der gleiche Wert ist beispielsweise a=1,1, aber ihre Reihenfolge ist der ID-Wert 1, 3, 5, 6. . Die entsprechenden Zeilen werden in einer ähnlichen Reihenfolge wie die Primärschlüssel-ID sortiert. (Das heißt, bei der Sortierung steht bei Verwendung des gleichen Werts die kleinere ID vorne)
3. Index (a, b) erstellen
Wie unten gezeigt, wird beim Erstellen einer Union nach der Indizierung (a, b) in der Indexstruktur die ursprüngliche Sortierung nach der Primärschlüssel-ID in eine neue Regel geändert. Die Sortierregel sortiert zuerst nach Feld a und dann Sortierung nach Feld b basierend auf a. Das heißt, basierend auf Index a wird auch Feld b sortiert.
Neue Sortier-Primärschlüssel-ID (ID stellt ihre Datenzeile dar): 6 18 23 10 15 20 7 22 27 1 3 26 2 11 25 4 8 24 5 9 16 12 13 14 17 19 21
Wenn die Werte der Felder a und b gleich sind, ist ihre Anordnung nicht schwer zu finden wird auch durch die Primärschlüssel-ID bestimmt. Beispielsweise dieselbe Zeile (18,6,23) mit a=1,1 und b=2,1, aber ihre Reihenfolge ist 6,18,23.
Feld (a,b) Index, zuerst nach einem Index sortieren und dann basierend auf a nach b sortieren
6 18 23 10 15 20 7 22 27 1 3 26 2 11 25 4 8 24 5 9 16 12 13 14 17 19 21
4. Index erstellen (a,b,c)
Feld (a,b , c) Index, zuerst nach a, b-Index sortieren, dann basierend auf (a, b), nach c sortieren
Neue Sortier-Primärschlüssel-ID (dargestellt durch ID-Daten für ihre Zeile): 23 6 18 15 20 10 27 22 7 1 26 3 11 2 25 24 4 8 5 16 9 12 14 13 17 19 21
5. Fazit:
Es ist das gleiche wie im vorherigen Artikel Mysql-Index-BTree Type [Vereinfacht], B-TREE-Baum Die letzte Reihe der Blattknoten ist in dieser Reihenfolge von links nach rechts angeordnet. Verschiedene Indizes sind in unterschiedlicher Reihenfolge. Wäre die Suche mit der Bestellung nicht viel bequemer und schneller?
Wir wissen, dass der Prozess des Auslesens von Daten (entspricht dem Prozess der Zimmersuche), Wenn ein Index (Raumregistrierungstabelle) vorhanden ist, lesen Sie zuerst die Datenstruktur des Index (da er nur wenige Daten enthält und schnell gelesen werden kann) und suchen Sie den Speicherort der realen physischen Festplatte im Blattknoten seiner Struktur (entspricht Finden Sie die Hausnummer) und rufen Sie dann die Festplatte mit der Hausnummer auf, um die Daten direkt abzurufen. Wenn kein Index vorhanden ist, wissen Sie das Ziel nicht. Suchen Sie einfach von Raum zu Raum.
Wenn kein Index vorhanden ist, ist die Primärschlüssel-ID tatsächlich ihr Index, geordnet nach den Regeln der Primärschlüssel-ID von klein nach groß
Wenn ein Index vorhanden ist, indexieren Sie a, Gelenkindex (a, b), der Gelenkindex (a, b, c) entspricht den drei B+TREE-Strukturen, und die physischen Festplatten, auf die am Ende der Blattknoten verwiesen wird, sind unterschiedlich.
Fazit:
1. Wenn kein Index eingerichtet ist, wird er in aufsteigender Reihenfolge nach dem ID-Primärschlüssel geordnet
2 . Wenn Index a erstellt wird, wird ein neuer Strukturindex (B+TREE) generiert, um eine neue Strukturregel aufzuzeichnen, um die schnelle Suche zu erleichtern
3. Beim Erstellen von Index a, Index ab, Index abc, die drei Die entsprechenden Daten werden sortiert. Sie sind unterschiedlich.
4. Der Index abc berücksichtigt sowohl den Index ab als auch den Index a. Wenn also ersterer verfügbar ist, müssen die beiden letzteren nicht erstellt werden
5. Wenn ein Index erstellt wird, werden nicht indizierte Spalten standardmäßig nach aufsteigender ID sortiert
Weitere Schlussfolgerungen: Mysql-Index-Zusammenfassung: http:// Blog .csdn.net/ty_hf/article/details/53526405
Wenn beim Speichern der Daten ein neues Datenelement eingefügt wird, wird eine Kopie dieser Tabelle erstellt Der Index muss ebenfalls gepflegt werden und an einem geeigneten Ort platziert werden. Dies erklärt, warum Indizes negative Auswirkungen haben können, wenn die Datenmenge in der indizierten Tabelle langsamer wird. Häufiges Einfügen und Löschen von Daten nimmt ebenfalls Zeit in Anspruch. ? 500W? Zu verifizieren.
Das Obige ist der Inhalt der MySQL-Index-Datensortierung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Schritte zur Durchführung von SQL in Navicat: Verbindung zur Datenbank herstellen. Erstellen Sie ein SQL -Editorfenster. Schreiben Sie SQL -Abfragen oder Skripte. Klicken Sie auf die Schaltfläche Ausführen, um eine Abfrage oder ein Skript auszuführen. Zeigen Sie die Ergebnisse an (wenn die Abfrage ausgeführt wird).

Häufige Gründe, warum Navicat keine Verbindung zur Datenbank und ihren Lösungen herstellen kann: 1. Überprüfen Sie den laufenden Status des Servers. 2. Überprüfen Sie die Verbindungsinformationen; 3. Passen Sie die Firewall -Einstellungen ein; 4. Konfigurieren Sie den Remote -Zugriff; 5. Fehlerbehebung mit Netzwerkproblemen; 6. Berechtigungen überprüfen; 7. Sicherheitskompatibilität sicherstellen; 8. Fehlerbehebung bei anderen Möglichkeiten.

Sie können eine neue MySQL -Verbindung in Navicat erstellen, indem Sie den Schritten folgen: Öffnen Sie die Anwendung und wählen Sie eine neue Verbindung (Strg N). Wählen Sie "MySQL" als Verbindungstyp. Geben Sie die Hostname/IP -Adresse, den Port, den Benutzernamen und das Passwort ein. (Optional) Konfigurieren Sie erweiterte Optionen. Speichern Sie die Verbindung und geben Sie den Verbindungsnamen ein.
