PostgreSQL Indizes

In diesem PostgreSQL-Lernprogramm wird erläutert, wie Sie in PostgreSQL mit Syntax und Beispielen Indizes erstellen, löschen und umbenennen.

Was ist ein Index in PostgreSQL?

Ein Index ist eine Methode zur Leistungsoptimierung, mit der Datensätze schneller abgerufen werden können. Ein Index erstellt einen Eintrag für jeden Wert, der in den indizierten Spalten angezeigt wird.

Erstellen Sie einen Index

Sie können einen Index in PostgreSQL mit der Anweisung CREATE INDEX erstellen.

Syntax

Die Syntax zum Erstellen eines Index mit der Anweisung CREATE INDEX in PostgreSQL lautet:

CREATE [UNIQUE] INDEX [CONCURRENTLY] index_name
[ USING BTREE | HASH | GIST | SPGIST | GIN ]
ON Tabellenname
(index_col1 [ASC | DESC],
index_col2 [ASC | DESC],

index_col_n [ASC | DESC]);
UNIQUE
Optional. Der Modifikator UNIQUE gibt an, dass die Wertekombination in den indizierten Spalten eindeutig sein muss.
CONCURRENTLY
Optional. Wenn der Index erstellt wird, wird die Tabelle nicht gesperrt. Standardmäßig ist die Tabelle gesperrt, während der Index erstellt wird.
index_name
Der Name, der dem Index zugewiesen werden soll.
Tabellenname
Der Name der Tabelle, in der Index erstellt werden soll.
index_col1, index_col2, … index_col_n
Die im Index zu verwendenden Spalten.
ASC
Optional. Der Index wird für diese Spalte in aufsteigender Reihenfolge sortiert.
DESC
Optional. Der Index wird für diese Spalte in absteigender Reihenfolge sortiert.

Beispiel

Schauen wir uns ein Beispiel an, wie ein Index in PostgreSQL erstellt wird.
Beispielsweise:

In diesem Beispiel würde die Anweisung CREATE INDEX einen Index mit dem Namen order_details_idx erstellen, der aus dem Feld order_date besteht.

Eindeutiger Index

Um einen Eindeutiger Index für eine Tabelle zu erstellen, müssen Sie beim Erstellen des Index das Schlüsselwort UNIQUE angeben.
Beispielsweise:

In diesem Beispiel würden wir einen Eindeutiger Index für die Tabelle order_details erstellen, der aus den Feldern order_date und note besteht, sodass die Kombination dieser Felder erforderlich ist Enthält immer einen eindeutigen Wert ohne Duplikate. Dies ist eine hervorragende Möglichkeit, die Integrität Ihrer Datenbank zu gewährleisten, wenn Sie eindeutige Werte in Spalten benötigen, die nicht Teil Ihres Primärschlüssels sind.

Löschen Sie einen Index

Sie können einen Index in PostgreSQL mit der Anweisung DROP INDEX löschen.

Syntax

Die Syntax zum Löschen eines Index mithilfe der Anweisung DROP INDEX in PostgreSQL lautet:

DROP INDEX [CONCURRENTLY] [IF EXISTS] index_name
[ CASCADE | RESTRICT ];
CONCURRENTLY
Optional. Wenn der Index gelöscht wird, wird die Tabelle nicht gesperrt. Standardmäßig ist die Tabelle gesperrt, während der Index aus der Tabelle entfernt wird.
IF EXISTS
Optional. Wenn angegeben, löst die Anweisung DROP INDEX keinen Fehler aus, wenn der Index nicht vorhanden ist.
index_name
Der Name des zu löschenden Index.
CASCADE
Optional. Alle von diesem Index abhängigen Objekte werden ebenfalls gelöscht.
RESTRICT
Optional. Der Index wird nicht gelöscht, wenn Objekte vorhanden sind, die vom Index abhängen.

Beispiel

Schauen wir uns ein Beispiel an, wie ein Index in PostgreSQL gelöscht wird.

Beispielsweise:

In diesem Beispiel haben wir einen Index mit dem Namen websites_idx aus der Tabelle websites entfernt.

Einen Index umbenennen

Sie können einen Index in PostgreSQL mit der Anweisung ALTER INDEX umbenennen.

Syntax

Die Syntax zum Umbenennen eines Index mit der Anweisung ALTER INDEX lautet:

ALTER INDEX [IF EXISTS] index_name,
RENAME TO neue_index_name;
IF EXISTS
Optional. Falls angegeben, löst die ALTER INDEX-Anweisung keinen Fehler aus, wenn der Index nicht vorhanden ist.
index_name
Der Name des Indexes, den Sie umbenennen möchten.
neue_index_name
Der neue Name für den Index.

Beispiel

Schauen wir uns ein Beispiel an, wie ein Index in PostgreSQL umbenannt wird.
Beispielsweise:

In diesem Beispiel haben wir den Index order_details_idx in od_neue_index umbenannt.