Wie und wann man einen Index in MySQL erstellt

Wie und wann man einen Index in MySQL erstellt
Wenn es um Leistungsoptimierung für MySQL -Datenbanken geht, ist das Erstellen von Indizes eine der besten Möglichkeiten. SQL -Indizes verbessern die Datenbankleistung, indem Sie schnelle Zugriff auf die in der Datenbank gespeicherten Daten ermöglichen.

Ein SQL -Index unterscheidet sich nicht so von einem normalen Buchindex mit einer kuratierten Liste von Informationen und wo Sie sie finden können.

In diesem Tutorial werden wir diskutieren, wann ein SQL -Index erstellt wird, da Indizes zwar zur Optimierung der Leistung beitragen können, aber auch eine langsame Leistung und andere negative Auswirkungen verursachen können. Wir werden auch diskutieren, wie ein Index mit einer realen Datenbank erstellt wird.

Lassen Sie uns anfangen:

Wann erstellen Sie einen Index in MySQL?

Leider habe ich keine direkte Antwort darauf, wann Sie einen Index erstellen sollten. Einige Szenarien und Faktoren können jedoch die Erstellung eines Index beeinflussen. Es ist gut zu beachten, dass Sie bei der Erstellung eines Index möglicherweise einige Kompromisse machen müssen

  1. Hohe Zugänglichkeit: Wenn Sie regelmäßig auf eine Tabelle oder eine Spalte zugegriffen haben, können Sie die Leistung erhöhen, indem Sie einen Index erstellen.
  2. Größe: Die Größe der in einer Tabelle oder Spalte gespeicherten Daten kann auch eine Rolle bei der Entscheidung spielen, wann ein Index erforderlich ist. Eine große Tabelle kann mehr von Indizes als eine kleinere Tabelle profitieren.
  3. Indexschlüssel: Der Datentyp des Ganzzahlschlüssels ist ebenfalls ein Faktor. Zum Beispiel ist eine Ganzzahl aufgrund ihrer geringen Größe ein viel besserer Indexschlüssel.
  4. CRUD -Operationen: Wenn Sie eine Tabelle oder Spalte mit einer höheren Anzahl von CRUD -Operationen haben, ist die Indexierung dieser Tabelle oder Spalte möglicherweise nicht vorteilhaft und kann sich negativ auf Datenbankleistung auswirken.
  5. Datenbankgröße: Die Indexierung ist eine Datenstruktur, die Platz in Ihrer Datenbank belegt, was ein Faktor sein kann, insbesondere in bereits großen Datenbanken.

Die oben genannten sind einige der Schlüsselkonzepte, die bei der Entscheidung, wann ein Datenbankindex erstellt werden soll.

Wenn Sie mehr darüber erfahren möchten, wie MySQL Indizes verwendet, sollten Sie die unten angegebene Ressource lesen:

https: // dev.Mysql.com/doc/refman/8.0/en/mysql-Indexes.html

Basic MySQL Indizes Nutzung

Sobald Sie eine Tabelle mit einem Primärschlüssel erstellt haben, erstellt MySQL automatisch einen speziellen Index namens Primär. Dies ist typischerweise als Cluster -Index bekannt.

Um einen Index in MySQL zu erstellen, können wir die unten gezeigte Syntax verwenden:

Erstellen index index_name unter tbl_name (cols);

Wir rufen zunächst die Klausel für erstellen index an, gefolgt vom Namen des Index, den wir erstellen möchten. Wir geben dann die Tabelle an, in der sich der Index befindet, und schließlich die Spalten.

Sie können beim Erstellen einer Tabelle auch einen Index erstellen, wie in der folgenden Syntax gezeigt:

TABLE TBL_NAME CREATE (COL1, COL2, COL3, INDEX (COL1, COL2));

NOTIZ: Der Standard -MySQL -Indextyp ist ein Bree, sofern nicht ausdrücklich angegeben.

Beispiel Anwendungsfall

Ermöglichen Sie mir mit einem Beispiel zu veranschaulichen, wie wir einen Index für die spezifische Tabelle erstellen können, um die Leistung zu verbessern.

Ich werde die Filmtabelle in der Datenbank der Mitarbeiter verwenden. Sie finden die Ressource auf der Ressourcenseite unten:

https: // dev.Mysql.com/doc/index-other.html

Lassen Sie uns zunächst den hinter dem Kosmen-Prozess MySQL verwendet, um eine einfache Auswahlanweisung zu verarbeiten, bei der das Geschlecht gleich f ist.

Erklären Sie Select EMP_NO, First_Name, last_name von Mitarbeitern, wobei Gender = 'f';

Angesichts der Größe der Tabelle und der abgefragten Daten ist das Scannen von mehr als 200.000 Zeilen nicht sehr effizient. In diesem Fall können wir diesen Wert reduzieren, indem wir einen Index erstellen.

Um einen Index zu erstellen, können wir dies tun:

Erstellen Sie das Indexgeschlecht für Mitarbeiter (Geschlecht);

Sobald wir den Index erstellt haben, scannt MySQL die Werte wie in der obigen Ausgabe gezeigt.

Abschluss

Ich hoffe.

Vielen Dank für das Lesen.