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 !