Re: Difference between UNIQUE constraint vs index

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jim C(dot) Nasby" <jim(at)nasby(dot)net>
Cc: John Jawed <johnjawed(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Difference between UNIQUE constraint vs index
Date: 2007-02-28 06:16:35
Message-ID: 26773.1172643395@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Jim C. Nasby" <jim(at)nasby(dot)net> writes:
> In some databases if you know that an index just happens to be unique
> you might gain some query performance by defining the index as unique,
> but I don't think the PostgreSQL planner is that smart.

Actually, the planner only pays attention to whether indexes are unique;
the notion of a unique constraint is outside its bounds. In PG a unique
constraint is implemented by creating a unique index, and so there is
really not any interesting difference.

I would imagine that other DBMSes also enforce uniqueness by means of
indexes, because it'd be awful darn expensive to enforce the constraint
without one; but I'm only guessing here, not having looked. Can anyone
point to a real system that enforces unique constraints without an
underlying index?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kaloyan Iliev 2007-02-28 07:36:22 Re: Bad performace of a query
Previous Message Shiva Sarna 2007-02-28 06:15:57 supporting 2000 simultaneous connections.