Heim Datenbank MySQL-Tutorial Sortieren von MySQL-Indexdaten

Sortieren von MySQL-Indexdaten

Jan 20, 2017 pm 05:01 PM

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

Sortieren von MySQL-Indexdaten

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. . .

Sortieren von MySQL-Indexdaten


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.

Sortieren von MySQL-Indexdaten

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

Sortieren von MySQL-Indexdaten

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:


Sortieren von MySQL-Indexdaten

Sortieren von MySQL-Indexdaten

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)!


Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MySQL: Die einfache Datenverwaltung für Anfänger MySQL: Die einfache Datenverwaltung für Anfänger Apr 09, 2025 am 12:07 AM

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.

Kann ich das Datenbankkennwort in Navicat abrufen? Kann ich das Datenbankkennwort in Navicat abrufen? Apr 08, 2025 pm 09:51 PM

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.

So erstellen Sie Navicat Premium So erstellen Sie Navicat Premium Apr 09, 2025 am 07:09 AM

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.

Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Apr 08, 2025 pm 09:18 PM

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: Einfache Konzepte für einfaches Lernen MySQL: Einfache Konzepte für einfaches Lernen Apr 10, 2025 am 09:29 AM

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.

So führen Sie SQL in Navicat aus So führen Sie SQL in Navicat aus Apr 08, 2025 pm 11:42 PM

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).

Navicat kann keine Verbindung zu MySQL/Mariadb/PostgreSQL und anderen Datenbanken herstellen Navicat kann keine Verbindung zu MySQL/Mariadb/PostgreSQL und anderen Datenbanken herstellen Apr 08, 2025 pm 11:00 PM

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.

So erstellen Sie eine neue Verbindung zu MySQL in Navicat So erstellen Sie eine neue Verbindung zu MySQL in Navicat Apr 09, 2025 am 07:21 AM

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.

See all articles