Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erstellen Sie einen Index in MySQL

MySQL-Indizes erleichtern die Suche und verbessern die SQL-Abfragegeschwindigkeit. So erstellen Sie einen Index in MySQL, um die Datenbankleistung zu verbessern, indem Sie die MySQL CREATE INDEX-Anweisung verwenden.

Wie die Indizierung in MySQL funktioniert

Wenn Sie eine SQL-Abfrage mit einer WHERE-Klausel oder anderen Suchvorgängen wie z. B. JOINS ausführen, muss MySQL normalerweise alle Datensätze in Ihrer Tabelle durchsuchen, um übereinstimmende Zeilen zu finden. Falls Ihre Tabellen Millionen von Zeilen haben, kann dies sehr zeitaufwändig sein und Ihre SQL-Abfragen erheblich verlangsamen.

MySQL-Indizes beschleunigen Ihre SQL-Abfragen, indem sie die indizierten Spaltenwerte in einer B-Baumstruktur verwalten, die für Suchen und Abgleichen optimiert ist. Indizes erleichtern also das schnelle Auffinden von Zeilen, die einem oder mehreren Werten entsprechen.

Standardmäßig erstellt MySQL einen Index für jede Primärschlüsselspalte in Ihrer Datenbank.

Bonuslektüre:So erstellen Sie gespeicherte Prozeduren in MySQL

Wie man einen Index in MySQL erstellt

Hier sind die Schritte zum Erstellen von Indizes in MySQL. Sie können den Index entweder zum Zeitpunkt der Tabellenerstellung erstellen oder ihn nachträglich hinzufügen. Wir werden uns diese beiden Ansätze ansehen.

So erstellen Sie einen MySQL-Index während der Tabellenerstellung

Hier ist die Syntax zum Erstellen eines Index während der Tabellenerstellung

CREATE TABLE table_name(
   column_definitions,
   INDEX (list_of_columns) 
);

In der obigen Abfrage table_name ist Ihre zu erstellende Tabelle und column_definitions ist die Liste der Spalten und Definitionen.

INDEX(Liste_der_Spalten) Hier erstellen Sie den MySQL-Index. Der Index wird für die durch Kommas getrennte Liste von Spalten erstellt, die als list_of_columns erwähnt werden

Bonuslektüre:So erstellen Sie Benutzer in MySQL

Hier ist ein Beispiel.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id) 
);

In der obigen Abfrage haben wir einen Index für product_id erstellt Spalte.

Hier ist ein Beispiel, wie man einen Index mit mehreren Spalten erstellt.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id, order_id) 
);

In der obigen Abfrage haben wir einen Index für mehrere Spalten product_id, order_id

erstellt

Bonuslektüre:So erstellen Sie eine Datenbank in MySQL

Wie man einen Index zu einer Spalte in einer Tabelle hinzufügt

Angenommen, Sie möchten einen Index für eine Spalte oder einen Satz von Spalten hinzufügen und dann die Anweisung CREATE INDEX verwenden. Hier ist die Syntax der CREATE INDEX-Anweisung

CREATE INDEX index_name ON table_name (column_list)

In der obigen Abfrage geben wir den Indexnamen, die Tabelle, für die Sie einen Index erstellen müssen, und eine Liste der in die Indizierung einzuschließenden Spalten an.

Hier ist ein Beispiel zum Hinzufügen eines neuen Index für die Spalte product_name in den obigen Bestellungen Tabelle

CREATE INDEX prod_name_index ON orders (product_name);

Um die einer Tabelle hinzugefügten Indizes anzuzeigen, können Sie die Anweisung SHOW INDEXES verwenden. Hier ist die Syntax für SHOW INDEXES

SHOW INDEXES from table_name;

Hier ist ein Beispiel, um Indizes von Bestellungen anzuzeigen Tabelle
SHOW INDEXES from orders;

Hoffentlich hilft Ihnen der obige Artikel dabei, einen Index in MySQL zu erstellen.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!