Apakah membuat batasan unik pada kolom Postgres menghapus kebutuhan untuk mengindeksnya?

11

Apakah membuat batasan unik pada kolom Postgres menghapus kebutuhan untuk mengindeksnya?

Saya berharap bahwa indeks secara otomatis diperlukan untuk mempertahankan kendala secara efisien.

vfclists
sumber

Jawaban:

13

Iya. Sebuah UNIQUEkendala diimplementasikan dengan bantuan indeks yang unik - indeks b-pohon dengan standar pemesanan menaik semacam atas semua yang terlibat kolom. Indeks dibuat dan dikelola secara otomatis, dan digunakan untuk semua tujuan seperti indeks unik polos oleh Postgres.

Tidak perlu membuat indeks unik lain (berlebihan) seperti itu, yang akan menjadi pemborosan sumber daya.

Penjelasan detail:

Beberapa pengecualian langka berlaku untuk indeks multikolom dengan opsi pengurutan khusus:

Erwin Brandstetter
sumber