RE: [SQL] Single vs. multiple indexes

From: "Jackson, DeJuan" <djackson(at)cpsgroup(dot)com>
To: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>, jaitken(at)dimension(dot)net
Cc: tgl(at)sss(dot)pgh(dot)pa(dot)us, pgsql-sql(at)postgreSQL(dot)org
Subject: RE: [SQL] Single vs. multiple indexes
Date: 1998-07-10 17:37:35
Message-ID: F10BB1FAF801D111829B0060971D839F32157A@cpsmail
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> > Bruce Momjian writes:
> > > Good question. The optimizer can only use only one index in a
> query, so
> > > if you create five indexes, the optimizer will pick the best one
> to use,
> > > and disregard the rest. If you create one index with five fields,
> it
> > > will use as much of the index as it can. If you restrict on the
> first
> > > field of the index, it will use only that part of the index. If
> you
> > > restrict on the first three fields, it will use all three parts,
> > > resulting in better performance than just having an index on the
> first
> > > field.
> > >
> > > If you restrict only on the second field of the index, the index
> is
> > > useless and will not be used.
> > >
> >
> > Just to be sure I understand what you're saying here, let's assume
> > I've got a table with three integer fields a, b, and c. I can do
> > one of two things:
> >
> > 1. Create an index on (a), an index on (b), and an index on (c).
> > 2. Create an index on (a, b, c).
> >
> > Now let's assume I perform a query that references b only. In this
> > case, if I understand you correctly, method #1 above is better,
> > because the index in method #2 will not be used.
> >
> > However, if I perform a query that references a and b, then method
> > #2 would be better, because the composite index will be used,
> > whereas in method #1, only one of the two relevant indices would be
> > chosen?
>
> Exactly.
>
But let's not forget one of the wonders of PostgreSQL. In this world
you can have your cake and eat it to. So, create all 4 indices and let
the optimizer sort em out for your queries.

-DEJ

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jeff Brown 1998-07-11 05:22:41 help with join
Previous Message Marcio Macedo 1998-07-10 10:54:12 Help with logon scripts