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
In diesem Artikel möchten wir eine Sammlung von 2...
Später habe ich auch hinzugefügt, wie man Jupyter...
1. Übersicht Das Promise-Objekt ist eine von ES6 ...
Inhaltsverzeichnis 1. Mehrere Syntaxen von Insert...
Inhaltsverzeichnis Bedingte Kompilierung Seitenla...
Mac wird mit Apache-Umgebung geliefert Öffnen Sie...
1. Umgebung und zugehörige Software Virtuelle Mas...
Inhaltsverzeichnis Vorwort Sechs Funktionen von J...
Dieser Artikel entstand aus meinen Beschwerden üb...
Inhaltsverzeichnis Manuelle Bereitstellung 1. Ers...
1. Verwendung von instanceof Mit instanceof wird ...
Inhaltsverzeichnis Vorwort 1. Trigger-Übersicht 2...
Bei der Verwendung von MySQL sortieren und fragen...
Geben Sie zunächst einen Code ein für(int i=0;i&l...
Inhaltsverzeichnis 1. Erstellen Sie eine SQL-Skri...