La creazione di un vincolo univoco su una colonna Postgres elimina la necessità di indicizzarla?


11

La creazione di un vincolo univoco su una colonna Postgres elimina la necessità di indicizzarla?

Mi aspetto che un indice sia automaticamente necessario per mantenere il vincolo in modo efficiente.

Risposte:


13

Sì. Un UNIQUEvincolo viene implementato con l'aiuto di un indice univoco: un indice b-tree con ordinamento crescente predefinito su tutte le colonne interessate. L'indice viene creato e gestito automaticamente e viene utilizzato per tutti gli scopi come un semplice indice univoco da Postgres.

Non è necessario creare un altro indice univoco (ridondante) come questo, che sarebbe uno spreco di risorse.

Spiegazione dettagliata:

Alcune rare eccezioni si applicano agli indici a più colonne con opzioni di ordinamento speciali:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.