PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Créer un index PostgreSQL

Les index PostgreSQL accélèrent les requêtes SQL en accélérant les recherches, les filtres et les jointures. Voici comment créer un index dans PostgreSQL pour accélérer les requêtes de base de données, à l'aide de l'instruction PostgreSQL CREATE INDEX.

Comment créer un index dans PostgreSQL

Voici les étapes pour créer un index dans PostgreSQL à l'aide de l'instruction PostgreSQL CREATE INDEX. Disons que vous avez le tableau suivant

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

Comment ajouter un index à une colonne dans un tableau

Supposons que vous souhaitiez ajouter un index pour une colonne ou un ensemble de colonnes, puis utilisez l'instruction CREATE INDEX. Voici la syntaxe de l'instruction CREATE INDEX

CREATE [UNIQUE] INDEX [CONCURRENTLY] index_name ON table_name 
[USING METHOD](column_list)

Dans la requête ci-dessus, nous spécifions le nom de l'index après CREATE INDEX, la table pour laquelle vous devez créer un index et la liste des colonnes à inclure dans l'indexation.

Vous pouvez éventuellement spécifier le mot-clé UNIQUE pour vous assurer que votre index ne contient que des valeurs uniques

PostgreSQL prend en charge diverses méthodes d'indexation telles que btree , hash , gist , spgist , gin , et brin que vous pouvez spécifier lors de la création de l'index.

Par défaut, PostgreSQL utilise des index btree.

Voici un exemple pour ajouter un nouvel index pour la colonne product_name dans les commandes ci-dessus tableau

CREATE INDEX prod_id_index ON orders (product_id);

Voici comment créer un index à l'aide de plusieurs colonnes

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Voici comment créer un index en utilisant la méthode de hachage

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

Voici comment créer un index unique pour éviter les valeurs en double

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL vous permet également de créer un index partiel à l'aide de la clause WHERE, où seules les valeurs correspondantes sont indexées

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

Dans la requête ci-dessus, seuls les prod_id sont indexés où status=1

Espérons que l'article ci-dessus vous aidera à créer un index dans PostgreSQL

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !