Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Indexes & Primary Keys (based on the same columns)


  • From: Ow Mun Heng <Ow(dot)Mun(dot)Heng(at)wdc(dot)com>
  • To: Bill Moran <wmoran(at)potentialtech(dot)com>
  • Cc: "Joshua D. Drake" <jd(at)commandprompt(dot)com>, pgsql-general(at)postgresql(dot)org
  • Subject: Re: Indexes & Primary Keys (based on the same columns)
  • Date: Thu, 25 Oct 2007 17:37:57 +0800
  • Message-id: <1193305077(dot)30973(dot)156(dot)camel(at)neuromancer(dot)home(dot)net>

On Mon, 2007-10-22 at 08:20 -0400, Bill Moran wrote:
> In response to "Joshua D. Drake" <jd(at)commandprompt(dot)com>:
> 
> > Ow Mun Heng wrote:
> > > I'm wondering if what I'm doing is redundant.
> > > 
> > > I have a primary key on columns (A,B,C,D)
> > > and I've also defined an index based on the same columns (A,B,C,D)
> > > 
> > > and sometimes in the query explain, I see the pkey being used for the
> > > scan instead of the index.
> > > 
> > > So.. That made me think perhaps the additional index on the _same_
> > > parameter is redundant.
> > 
> > A primary key creates an index so having a second index with the same 
> > definition is redundant.
> 
> Note the "same definition."
> 
> Since this is a multi-column index, there may be some advantage gained
> by having indexes defined slightly differently.  I.e., your PK is
> (ABCD) but you have an additional index on (DCBA)
> 
> Whether or not this is actually helpful depends on the nature of the
> queries you run.
> 

I found that that might not matter as much as there are bitmap indexes
which seems to be able to handle these.




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group