Postgresql
在 Postgres 列上創建唯一約束是否消除了對其編制索引的需要?
在 Postgres 列上創建唯一約束是否消除了對其編制索引的需要?
我希望自動需要一個索引來有效地維護約束。
是的。
UNIQUE
約束是在唯一索引的幫助下實現的——一個在所有相關列上具有預設升序排序的 b 樹索引。該索引是自動創建和維護的,用於所有用途,例如 Postgres 的普通唯一索引。沒有必要創建另一個(冗餘的)唯一索引,那樣會浪費資源。
詳細解釋:
一些罕見的例外適用於具有特殊排序選項的多列索引: