Erstellen eines Einzelspaltenindex (Single-Column Index)
In diesem Schritt erstellen Sie eine Beispieltabelle namens users
und anschließend einen Einzelspaltenindex für die Spalte email
. Indizes sind entscheidend für die Verbesserung der Leistung von Datenbankabfragen (Database Queries), insbesondere bei großen Tabellen.
Verbinden Sie sich zunächst als Benutzer postgres
mit der PostgreSQL-Datenbank:
sudo -u postgres psql
Erstellen Sie nun die Tabelle users
. Führen Sie den folgenden SQL-Befehl aus:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(50),
email VARCHAR(100),
created_at TIMESTAMP
);
Dieser Befehl erstellt eine Tabelle namens users
mit Spalten für id
, username
, email
und created_at
. Die Spalte id
ist der Primärschlüssel (Primary Key) und wird automatisch inkrementiert.
Fügen Sie als Nächstes einige Beispieldaten in die Tabelle users
ein. Führen Sie die folgenden SQL-Befehle aus:
INSERT INTO users (username, email, created_at) VALUES
('john_doe', '[email protected]', NOW());
INSERT INTO users (username, email, created_at) VALUES
('jane_smith', '[email protected]', NOW());
INSERT INTO users (username, email, created_at) VALUES
('peter_jones', '[email protected]', NOW());
INSERT INTO users (username, email, created_at) VALUES
('mary_brown', '[email protected]', NOW());
Sie haben nun vier Datenzeilen in die Tabelle users
eingefügt.
Um Abfragen basierend auf der Spalte email
zu beschleunigen, erstellen Sie einen Index für die Spalte email
. Führen Sie den folgenden SQL-Befehl aus:
CREATE INDEX idx_users_email ON users (email);
Dieser Befehl erstellt einen Index namens idx_users_email
für die Spalte email
der Tabelle users
.
Um zu überprüfen, ob der Index erstellt wurde, können Sie den Befehl \di
in psql
verwenden. Führen Sie den folgenden Befehl aus:
\di
Sie sollten den Index idx_users_email
in der Ausgabe sehen.
Beenden Sie abschließend die psql
-Shell, indem Sie Folgendes eingeben:
\q