Oracle erstellen Index

Oracle erstellen Index

In Oracle -Datenbanken bezieht sich ein Index auf eine Datenstruktur, die die Geschwindigkeit der Datenabrufvorgänge in einer Datenbanktabelle vorantreibt. Dies kann jedoch zu einer Strafe für zusätzliche Schreibvorgänge und Speicherplatz in Ihrer Datenbank erfolgen.

Ein Beispiel dafür, wo ein Datenbankindex nützlich wäre.

In einem solchen System können wir eine Datenbanktabelle haben, in der Kundeninformationen gespeichert sind. Dies kann den Namen, die Adresse, die Zahlungsmethoden, die Kontaktinformationen usw. enthalten.

Wenn die Tabelle viele Datensätze enthält, möglicherweise Millionen von ihnen, kann es lange und Ressourcen dauern, um nach bestimmten Kundeninformationen aus der Datenbank zu suchen. Dies ist ein negatives Phänomen, insbesondere in Datenbanken, in denen die Leistung kritisch ist.

Um dies zu umgehen, können wir einen Datenbankindex verwenden.

Zum Beispiel können wir einen Index in der Namensspalte des Kunden erstellen, mit dem das Datenbanksystem die Informationen eines bestimmten Kunden schnell mit dem Namen finden und abrufen kann. Daher verwendet sie anstelle der Datenbank -Engine alle Zeilen und Spalten in der Tabelle, nur den Index, um Kundeninformationen nachzuschlagen.

In diesem Tutorial erfahren Sie, wie Sie den Befehl create Index in der Oracle -Datenbank verwenden, um einen neuen Index zu initialisieren.

Oracle erstellen Indexanweisung

Das Folgende zeigt die Syntax der Anweisung erstellen Index in Oracle -Datenbanken:

Erstellen index index_name
On table_name (Spalte1, Spalte2,…);

Die obige Syntax erstellt in der Tabelle einen Index mit dem Namen index_name mit dem Namen table_name unter Verwendung der angegebenen Spalten (Spalte1, Spalte2 usw. usw.) als Schlüssel für den Index.

In Oracle ist eine Primärschlüssel eine Spalte oder eine Reihe von Spalten, die jede Zeile in einer Tabelle eindeutig identifizieren. Standardmäßig erstellt Oracle automatisch einen eindeutigen Index in den Primärschlüsselspalten einer Tabelle, um die Einzigartigkeitsbeschränkung durchzusetzen und die Leistung von Primärschlüssel -Suchanlagen zu verbessern.

In einigen Fällen müssen Sie jedoch möglicherweise einen neuen Index für eine bestimmte Tabelle manuell erstellen.

Lassen Sie uns einige Beispiele dafür ansehen, wie wir dies erreichen können.

Oracle erstellen Indexbeispiel

Angenommen, wir haben eine Tabelle mit Mitarbeiterinformationen, wie in der folgenden Ausgabe gezeigt:

Wählen Sie First_Name, last_name, Gehalt, Hire_date von Mitarbeitern;

Oracle erstellen Index für eine einzelne Spalte

Angenommen, wir möchten einen Index mit der Spalte First_Name erstellen. Wir können eine Abfrage wie gezeigt ausführen:

erstellen index first_name_lookup auf Mitarbeitern (First_Name);

Diese Erstellung indexer Indexanweisung erstellt einen Index mit dem Namen First_Name_lookup in der Tabelle der Mitarbeiter, wobei die Spalte First_Name als Schlüssel für den Index verwendet wird. Dieser Index kann verwendet werden, um die Leistung von Abfragen zu verbessern, die nach Mitarbeitern nach ihrem Vornamen suchen.

Sobald wir den Index erstellt haben, können wir ihn verwenden, um nach einem bestimmten Mitarbeiter zu suchen, wie gezeigt:

Wählen Sie First_Name, last_name, Gehalt, Hire_date aus
Von Mitarbeitern
Wo First_name = 'William';

Ergebnis:

Ohne den First_Name_Lookup -Index müsste das Datenbanksystem die gesamte Mitarbeitertabelle scannen, um alle Zeilen zu finden, in denen die Spalte First_Name gleich 'William entspricht.'Mit dem Index kann das Datenbanksystem jedoch die Zeilen im Index mit dem Wert' John 'als Schlüssel schnell nachschlagen und dann die angeforderten Zeilen aus der Tabelle abrufen, was viel schneller ist.

Sie können die Schritte anzeigen, die verwendet werden, wenn die Abfrage mit dem Befehl Erklärenplan wie gezeigt erstellt wird:

Erklären Sie den Plan für ausgewählte First_Name, last_name, Gehalt, Hire_Date
Von Mitarbeitern
Wo First_name = 'William';

Resultierender Abfrageplan:

Beispiel 2 - Oracle erstellen Index mit mehreren Spalten

In ähnlicher Weise können wir einen Index erstellen, der aus mehr als einer Spalte in einer bestimmten Tabelle besteht. Angenommen, wir möchten einen Index erstellen, der aus der Spalte First_Name und Last_Name besteht.

Wir können den Code wie gezeigt verwenden:

erstellen index multi_lookup auf Mitarbeitern (First_Name, last_name);

Diese Erstellung indexer Indexanweisung erstellt einen Index mit dem Namen multi_lookup in der Mitarbeiter -Tabelle unter Verwendung der Spalten First_Name und Last_Name als Schlüssel für den Index.

Nach der Erstellung können wir diesen Index wie gezeigt in der Beispielabfrage verwenden:

Wählen Sie First_Name, last_name, Gehalt, Hire_date aus
Von Mitarbeitern
Wo First_name = 'William' und last_name = 'Smith';

Resultierender Wert:

Und dort haben Sie eine Methode, um Ihre Datenbankabfragen zu beschleunigen, indem Sie Indizes verwenden, um den Suchbereich zu begrenzen.

Abschluss

Mit der Erstellung von Indexanweisung in Oracle können wir einen Index in einer Tabelle erstellen, um die Leistung von Datenabrufvorgängen zu verbessern. Obwohl Indizes die Abfrageleistung verbessern können, entstehen auch Speicherplatzstrafen, was zu reduzierten Schreibgeschwindigkeitsvorgängen führt. Verwenden Sie sie nur dann, wenn dies erforderlich ist.