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
Inhaltsverzeichnis Installieren Sie zuerst wget H...
Inhaltsverzeichnis Machen Sie das Scrollen flüssi...
1. Überprüfung Der Pufferpool wird nach dem Start...
Vorwort Backup ist die Grundlage der Notfallwiede...
Vorwort Was ist Staat Wir alle sagen, dass React ...
Vorwort MySQL unterstützt viele Arten von Tabelle...
In diesem Artikel finden Sie das Installations- u...
Während der Projektentwicklung werden unsere Date...
<br />Originaltext: http://blog.rexsong.com/...
SQL-Fuzzy-Abfrageanweisung Die allgemeine Fuzzy-A...
HTML-Absatz Absätze werden durch das Tag <p>...
1. Implementieren Sie den Anruf Schritt: Legen Si...
Breite: automatisch Das untergeordnete Element (e...
Vorschau: Code: Seitenabschnitte: <Vorlage>...
Vue-Methoden und -Eigenschaften 1. Methoden Verwe...