在閱讀有關(guān)索引唯一性的文檔后,我一直試圖在Postgres中理清唯一性和索引之間的關(guān)系:向表添加唯一約束的首選方法是ALTER TABLE ... ADD CONSTRAINT。使用索引強制實施唯一約束可以被認為是不應(yīng)直接訪問的實現(xiàn)細節(jié)。但是,應(yīng)該知道,不需要在唯一列上手動創(chuàng)建索引;這樣做只會復(fù)制自動創(chuàng)建的索引。因此,采取的文檔在他們的話我打算只需要聲明的東西一樣獨特,并使用隱式索引 - 或 - 創(chuàng)建索引,而不是假定值是唯一的。這是一個錯誤嗎? 我將從獨特性獲得什么樣的索引?假設(shè)只有btree會接受唯一約束,并且unique隱式創(chuàng)建索引,那么UNIQUE是否創(chuàng)建btree索引是否成立?我不想無意間在哈希索引上運行范圍。
PostgreSQL如何執(zhí)行UNIQUE約束/它使用什么類型的索引?
白豬掌柜的
2019-12-06 10:26:13