Czy utworzenie unikalnego ograniczenia dla kolumny Postgres eliminuje potrzebę indeksowania?

11

Czy utworzenie unikalnego ograniczenia dla kolumny Postgres eliminuje potrzebę indeksowania?

Oczekuję, że indeks jest automatycznie potrzebny do skutecznego utrzymania ograniczenia.

vfclists
źródło

Odpowiedzi:

13

Tak. UNIQUEOgraniczeniem jest realizowany za pomocą unikalnego index - indeks B-drzewa z domyślnego sortowania rosnąco zamawiania nad wszystkimi zaangażowanymi kolumn. Indeks jest tworzony i utrzymywany automatycznie i jest używany do wszystkich celów, takich jak zwykły unikalny indeks Postgres.

Nie ma potrzeby tworzenia kolejnego (nadmiarowego) unikalnego indeksu podobnego do niego, co byłoby marnotrawstwem zasobów.

Szczegółowe wyjaśnienie:

Niektóre rzadkie wyjątki dotyczą indeksów wielokolumnowych ze specjalnymi opcjami sortowania:

Erwin Brandstetter
źródło