Was ist ein Index?Ein Datenbankindex ist eine Datenstruktur, die die Geschwindigkeit von Datenabrufvorgängen in einer Datenbanktabelle erhöht, allerdings auf Kosten zusätzlicher Schreibvorgänge und Speicherplatz. Vereinfacht ausgedrückt ist ein Index vergleichbar mit dem Inhaltsverzeichnis eines Buches und ermöglicht Ihnen, anhand der darin verzeichneten Seitenzahlen schnell den gewünschten Inhalt zu finden. ——Was sind die gängigen Indizes in Wikipedia?
Hier nehmen wir eine relativ komplexe Kombination als Beispiel, um zu zeigen, wie sie optimiert werden kann. Prinzip der Übereinstimmung mit dem äußersten linken PräfixZunächst müssen wir wissen, was das Prinzip der Übereinstimmung des am weitesten links stehenden Präfixes ist. Das Prinzip des ganz links stehenden Präfixabgleichs bedeutet, dass bei Verwendung eines gemeinsamen B+Tree-Index zum Abrufen von Daten der MySQL-Optimierer das Prädikat (Filterbedingung) liest und in der Reihenfolge, in der die gemeinsamen Indexfelder erstellt werden, nach rechts abgleicht, bis eine Bereichsabfrage oder eine ungleiche Abfrage gefunden wird. Die Indexspalten nach diesem Feld werden nicht verwendet. Zu diesem Zeitpunkt kann durch Berechnen So berechnen Sie key_len Die Berechnung Bevor wir
Die Testdatentabelle sieht wie folgt aus: CREATE TABLE `test_table` ( `id` int(11) NICHT NULL AUTO_INCREMENT, `a` int(11) STANDARD NICHT NULL, `b` int(11) STANDARD NICHT NULL, `c` int(11) STANDARD NICHT NULL, Primärschlüssel (`id`), SCHLÜSSEL `test_table_a_b_c_index` (`a`,`b`,`c`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; Trefferindex: mysql> erklären Sie „select * from test_table“, wobei a = 1 und b = 2 und c = 3; +----+-------------+------------+------------+------+------------------------+---------+---------+-------------------+----------+-------------+ | ID | Auswahltyp | Tabelle | Partitionen | Typ | mögliche Schlüssel | Schlüssel | Schlüssellänge | Ref. | Zeilen | gefiltert | Extra | +----+-------------+------------+------------+------+------------------------+---------+---------+-------------------+----------+-------------+ | 1 | SIMPLE | test_table | NULL | ref | test_table_a_b_c_index | test_table_a_b_c_index | 12 | const,const,const | 1 | 100.00 | Index wird verwendet | +----+-------------+------------+------------+------+------------------------+---------+---------+-------------------+----------+-------------+ Sie können sehen, Ob NULL zulässig ist. Wenn NULL zulässig ist, wird ein zusätzliches Byte benötigt, um das Feld zu markieren. Unterschiedliche Datentypen erfordern unterschiedliche Bytegrößen. mysql> ALTER TABLE `test_table` CHANGE `a` `a` INT(11) NULL; mysql> ALTER TABLE `test_table` CHANGE `c` `c` INT(11) NULL; mysql> ALTER TABLE `test_table` CHANGE `b` `b` INT(11) NULL; mysql> erklären Sie „select * from test_table“, wobei a = 1 und b = 2 und c = 3; +----+-------------+------------+------------+------+------------------------+---------+---------+-------------------+----------+-------------+ | ID | Auswahltyp | Tabelle | Partitionen | Typ | mögliche Schlüssel | Schlüssel | Schlüssellänge | Ref. | Zeilen | gefiltert | Extra | +----+-------------+------------+------------+------+------------------------+---------+---------+-------------------+----------+-------------+ | 1 | SIMPLE | test_table | NULL | ref | test_table_a_b_c_index | test_table_a_b_c_index | 15 | const,const,const | 1 | 100.00 | Index wird verwendet | +----+-------------+------------+------------+------+------------------------+---------+---------+-------------------+----------+-------------+ Es ist ersichtlich, dass IndexoptimierungMit diesem Grundwissen können wir die Leistung anhand des tatsächlichen SQL beurteilen. Erstellen Sie anhand der obigen Datentabelle als Beispiel einen gemeinsamen Index für die drei Felder a, b und c.
Wenn beim Anzeigen eines Ausführungsplans in der Spalte „Extra“ der Wert „Index verwenden“ angezeigt wird, bedeutet dies normalerweise, dass der Optimierer einen überdeckenden Index verwendet.
Erstellen einer Indexspezifikation
Oben finden Sie Einzelheiten zum Entwerfen und Optimieren von MySQL-Indizes. Weitere Informationen zum Entwerfen und Optimieren von MySQL-Indizes finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: img usemap Attribut China Karte Link
>>: Flex-Layout realisiert linken Textüberlauf und lässt rechte Textanpassung aus
MySQL-Sicherung Kaltes Backup:停止服務進行備份,即停止數據庫的寫入H...
MySQL Slow Query, dessen vollständiger Name „Slow...
Standortausdruckstyp ~ bedeutet, dass ein regulär...
In diesem Artikel wird hauptsächlich die wunderba...
Als Pflichtkurs für Frontend-Entwickler kann CSS3...
Obwohl Microsoft T4-Vorlagen bereitstellt, finde ...
Rand paralleler Boxen (Überlappung doppelter Ränd...
Laden Sie zuerst die Version 15.1 von VMware Work...
Webanwendungsklasse 1. DownFürAlleOderNurIch Mith...
Wir können den scp-Befehl von Linux (scp kann unt...
Einführung in Debian Debian bezeichnet im weitere...
Die HTML-Struktur ist wie folgt: Die CCS-Struktur...
Ein allgemeines Entwicklungsbedürfnis besteht dar...
20200804Nachtrag: Der Artikel könnte falsch sein....
<tr> <th width="12%">AAAAA&l...