Heim  >  Artikel  >  Datenbank  >  Beschleunigen Sie langsame Abfragen mit zusammengesetzten Indizes in MySQL

Beschleunigen Sie langsame Abfragen mit zusammengesetzten Indizes in MySQL

WBOY
WBOYnach vorne
2023-09-10 19:29:02768Durchsuche

使用 MySQL 中的复合索引使慢速查询变得更快

Sehen wir uns zunächst an, was ein zusammengesetzter Index ist –

  • Ein zusammengesetzter Index ist ein Index, der für mehrere Spalten verwendet wird.

  • Auch als mehrspaltiger Index bekannt.

  • MySQL ermöglicht Benutzern die Erstellung zusammengesetzter Indizes, die bis zu 16 Spalten enthalten können.

  • Der Abfrageoptimierer verwendet einen zusammengesetzten Index für Abfragen, der alle Spalten im Index testet.

  • Es kann auch zum Testen von Abfragen für die erste Spalte, die ersten beiden Spalten usw. verwendet werden.

  • Ein einzelner zusammengesetzter Index kann verwendet werden, um bestimmte Arten von Abfragen in derselben Tabelle zu beschleunigen, wenn die Spalten in der Indexdefinition in der richtigen Reihenfolge angegeben werden.

Sehen wir uns an, wie man beim Erstellen eines zusammengesetzten Indexes eine zusammengesetzte Indextabelle erstellt. Dies kann mit der folgenden Anweisung erfolgen:

Query

CREATE TABLE table_name (
   c1 data_type PRIMARY KEY,
   c2 data_type,
   c3 data_type,
   c4 data_type,
   INDEX index_name (c2,c3,c4)
);

In der obigen Anweisung besteht der zusammengesetzte Index aus drei Spalten c2, c3 und c4.

Sie können einer vorhandenen Tabelle auch einen zusammengesetzten Index hinzufügen, indem Sie die Anweisung „CREATE INDEX“ verwenden. Mal sehen, wie das geht –

Abfragen

CREATE INDEX index_name
ON table_name(c2,c3,c4);

Mal sehen, wie man Sloq-Abfragen mithilfe zusammengesetzter Indizes schnell macht –

  • Die Geschwindigkeit der Abfrageausführung hängt von ihrer Dauer ab.

  • Die Verwendung von Indexhinweisen kann die Abfragegeschwindigkeit verbessern.

  • Der MySQL-Optimierer kann verwendet werden, um bei der Auswahl eines Index die richtigen Entscheidungen zu treffen.

  • Dies ist jedoch nur bei statischen Abfragen möglich.

  • Wenn Sie eine Abfrage hinzufügen, bei der sich die „WHERE“-Klausel ändert, verschlechtert sich die Leistung der Abfrage, da der Optimierer seine Aufgabe nicht erfüllen kann.

  • Die „FORCE INDEX“-Anweisung funktioniert wie „USE INDEX (index_list)“, außerdem gilt der Tabellenscan als kostspielige Aufgabe.

  • Ein Tabellenscan ist nur erforderlich, wenn ein benannter Index nicht zum Auffinden einer Zeile in der Tabelle verwendet werden kann.

Das obige ist der detaillierte Inhalt vonBeschleunigen Sie langsame Abfragen mit zusammengesetzten Indizes in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen