Postgresql

在 Postgres 列上創建唯一約束是否消除了對其編制索引的需要?

  • February 12, 2019

在 Postgres 列上創建唯一約束是否消除了對其編制索引的需要?

我希望自動需要一個索引來有效地維護約束。

是的。UNIQUE約束是在唯一索引的幫助下實現的——一個在所有相關列上具有預設升序排序的 b 樹索引。該索引是自動創建和維護的,用於所有用途,例如 Postgres 的普通唯一索引。

沒有必要創建另一個(冗餘的)唯一索引,那樣會浪費資源。

詳細解釋:

一些罕見的例外適用於具有特殊排序選項的多列索引:

引用自:https://dba.stackexchange.com/questions/132929