PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL-Index erstellen

PostgreSQL-Indizes beschleunigen SQL-Abfragen, indem sie Lookups, Filter und Verknüpfungen beschleunigen. So erstellen Sie einen Index in PostgreSQL, um Datenbankabfragen zu beschleunigen, indem Sie die PostgreSQL-Anweisung CREATE INDEX verwenden.

Wie man einen Index in PostgreSQL erstellt

Hier sind die Schritte zum Erstellen eines Index in PostgreSQL mit der PostgreSQL-Anweisung CREATE INDEX. Angenommen, Sie haben die folgende Tabelle

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

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 [UNIQUE] INDEX [CONCURRENTLY] index_name ON table_name 
[USING METHOD](column_list)

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

Sie können optional das Schlüsselwort UNIQUE angeben, um sicherzustellen, dass Ihr Index nur eindeutige Werte enthält

PostgreSQL unterstützt verschiedene Indizierungsmethoden wie btree , hash , gist , spgist , gin , und brin die Sie während der Indexerstellung angeben können.

Standardmäßig verwendet PostgreSQL btree-Indizes.

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

CREATE INDEX prod_id_index ON orders (product_id);

So erstellen Sie einen Index mit mehreren Spalten

CREATE INDEX prod_id_index ON orders (product_id, order_id);

So erstellen Sie einen Index mit der Hash-Methode

CREATE INDEX prod_id_index ON orders using hash(product_id, order_id);

So erstellen Sie einen eindeutigen Index, um doppelte Werte zu vermeiden

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL ermöglicht es Ihnen auch, einen Teilindex mit der WHERE-Klausel zu erstellen, wobei nur übereinstimmende Werte indiziert werden

CREATE INDEX prod_id_index ON orders (product_id) where status=1;

In der obigen Abfrage nur diese prod_id werden mit status=1

indiziert

Hoffentlich hilft Ihnen der obige Artikel beim Erstellen von Indizes in PostgreSQL

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