MySQL-Indexoptimierung – Paging-ErkundungTabellenstruktur CREATE TABLE `demo` ( `id` int(11) NICHT NULL AUTO_INCREMENT, `name` varchar(50) ZEICHENSATZ utf8mb4 SORTIMENT utf8mb4_0900_ai_ci NICHT NULL STANDARD '' KOMMENTAR 'Name', `Alter` int(11) NICHT NULL STANDARD '0' KOMMENTAR 'Alter', `position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' KOMMENTAR 'Position', `card_num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'Arbeitskartennummer', Primärschlüssel (`id`), SCHLÜSSEL `index_union` (`Name`,`Alter`,`Position`) ) ENGINE=InnoDB AUTO_INCREMENT=450003 DEFAULT CHARSET=utf8; 450003 Datensätze Paging-Ausführungsstatus begrenzen Wie „select * from demo limit 90000,10“; unter Berücksichtigung der Tabellenrückgabe entscheidet sich MySQL einfach, die gesamte Tabelle zu scannen. MySQL zählt 10 Elemente nicht direkt ab der 90000. Zeile, sondern beginnt beim ersten Blattknoten und zählt 90010 Zeilen. Fall 1In der obigen Abbildung kann der Primärschlüssel verwendet werden, um die Daten nach der ID = 90000 herauszufiltern, wenn die ID kontinuierlich erhöht wird. Da der Primärschlüsselindex eine B+-Baumstruktur ist, ist er geordnet. Fall 2Sortieren Sie zuerst nach Namen und suchen Sie dann 10 Zeilen, beginnend bei Zeile 90000. Obwohl der Name ein Index ist, wird die ausgewählte Spalte nicht im Indexbaum index_union gespeichert. Daher muss zur Tabelle zurückgekehrt werden. Daher wählt MySQL direkt die Option zum Scannen der Blattknoten des Primärschlüsselindexbaums aus, sortiert zunächst über 400.000 Daten nach Namen und berechnet dann 90.000 Zeilen + 10 Zeilen. Optimierungsmethode: Verwenden Sie Unterabfragen, um die zeitaufwändigsten Sortier- und Tabellenrückgabeprobleme zu lösen. Der gemeinsame Indexbaum speichert die Primärschlüssel-ID. Wenn Sie nach Namen sortieren, können Sie den gesamten Index von Name, Alter und Position voll ausnutzen, da die Sortierung der Spalte ganz links bestimmt wird und die Sortierung der beiden anderen Spalten, Alter und Position, tatsächlich Die Sortierung ist abgeschlossen und der Indexbaum kann auch zum Sortieren über das Extra-Feld verwendet werden. Die äußerste Abfrage ist über den Primärschlüssel verknüpft und kann daher fast ignoriert werden. 10+10 Da die ID der Primärschlüssel ist, können Sie 10 Datensätze in der temporären Tabelle direkt scannen. Dies ist das Ende dieses Artikels mit der detaillierten Einführung in die MySQL-Indexoptimierung und Paging-Erkundung. Weitere relevante Inhalte zur MySQL-Paging-Erkundung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
1. Hintergrund Wir führen von Zeit zu Zeit intern...
1. Integrierte Funktionen 1. Mathematische Funkti...
Bevor wir beginnen, erstellen wir zwei Tabellen, ...
Inhaltsverzeichnis Anwendungsfälle Reaktive API-b...
In einer Front-End-Technologiegruppe sagte ein Gr...
Inhaltsverzeichnis MySQL-Berechtigungskontrolle B...
1 Einleitung Im Artikel „PostgreSQL mit Docker st...
Zunächst: Was ist ein Box-Collapse? Elemente, die...
Nachdem die Docker-Installation auf der CentOS-Ma...
In diesem Artikelbeispiel wird der spezifische Co...
1. Erstellen Sie ein neues RTMP-Verzeichnis im Ng...
Das Daten-URI-Schema ermöglicht es uns, Daten mith...
Dieser Artikel stellt nichts im Zusammenhang mit ...
Wenn die Wörter in der SQL-Anweisung mit den Schl...
Inhaltsverzeichnis 1. Funktionen 2. Beispiele 3. ...