La création d'une contrainte unique sur une colonne Postgres supprime-t-elle la nécessité de l'indexer?


11

La création d'une contrainte unique sur une colonne Postgres supprime-t-elle la nécessité de l'indexer?

Je m'attends à ce qu'un index soit automatiquement nécessaire pour maintenir la contrainte efficacement.

Réponses:


13

Oui. Une UNIQUEcontrainte est implémentée à l'aide d'un index unique - un index b-tree avec un ordre de tri croissant par défaut sur toutes les colonnes impliquées. L'index est créé et maintenu automatiquement, et est utilisé à toutes fins comme un index unique simple par Postgres.

Il n'est pas nécessaire de créer un autre index unique (redondant) comme celui-ci, ce serait un gaspillage de ressources.

Explication détaillée:

De rares exceptions s'appliquent aux index multicolonnes avec des options de tri spéciales:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.