Indexes

20 min Niveau 9

Les index sont des tables de consultation spéciales que le moteur de recherche de la base de données peut utiliser pour accélérer la récupération des données. En termes simples, un index est un pointeur vers les données d'une table. Un index dans une base de données est très similaire à un index à la fin d'un livre.

Par exemple, si vous souhaitez faire référence à toutes les pages d'un livre traitant d'un certain sujet, vous devez d'abord consulter l'index, qui répertorie tous les sujets par ordre alphabétique, puis vous référer à un ou plusieurs numéros de page spécifiques.

Un index permet d'accélérer les requêtes SELECT et les clauses WHERE ; en revanche, il ralentit la saisie des données, avec les instructions UPDATE et INSERT. Les index peuvent être créés ou supprimés sans effet sur les données.

La création d'un index implique l'instruction CREATE INDEX, qui vous permet de nommer l'index, de spécifier la table et la ou les colonnes à indexer, et d'indiquer si l'index est en ordre croissant ou décroissant.

Les index peuvent également être uniques, comme la contrainte UNIQUE, en ce sens que l'index empêche les entrées en double dans la colonne ou la combinaison de colonnes sur laquelle il y a un index.

The CREATE INDEX Command

La syntaxe de base de la commande CREATE INDEX est la suivante :

CREATE INDEX index_name ON table_name;

Index Types

PostgreSQL fournit plusieurs types d'index : B-tree, Hash, GiST, SP-GiST et GIN. Chaque type d'index utilise un algorithme différent qui est mieux adapté à différents types de requêtes. Par défaut, la commande CREATE INDEX crée des index B-tree, qui conviennent aux situations les plus courantes.

Single-Column Indexes

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus