pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ragnar <gnari@hive.is>
To: Brian Herlihy <btherl@yahoo.com.au>
Cc: pgsql-performance@postgresql.org
Subject: Re: Query planner is using wrong index.
Date: Thu, 06 Apr 2006 08:52:54 +0000
Message-ID: <1144313574.32289.78.camel@localhost.localdomain> (raw)
In-Reply-To: <20060406023544.37250.qmail@web52305.mail.yahoo.com>
References: <20060406023544.37250.qmail@web52305.mail.yahoo.com>

On fim, 2006-04-06 at 12:35 +1000, Brian Herlihy wrote:

> I have a problem with the choice of index made by the query planner.
> 
> My table looks like this:
> 
> CREATE TABLE t
> (
>   p1 varchar not null,
>   p2 varchar not null,
>   p3 varchar not null,
>   i1 integer,
>   i2 integer,
>   i3 integer,
>   i4 integer,
>   i5 integer,
>   d1 date,
>   d2 date,
>   d3 date,
>   PRIMARY KEY (p1, p2, p3)
> );
> 
> I have also created an index on (p2, p3), as some of my lookups are on these
> only.

> All the integers and dates are data values.
> The table has around 9 million rows.
> I am using postgresl 7.4.7
> 
> I have set statistics to 1000 on the p1, p2 and p3 columns, and run vacuum full
> analyse.  However, I still see
> query plans like this:
> 
...
> db=# explain select * from t where p2 = 'fairly_common' and p3 =
> 'fairly_common';                                                              
> QUERY PLAN          
> -----------------------------------------------------------------------------------------------------------------------------------
>  Index Scan using p2p3 on t  (cost=0.00..6.01 rows=1 width=102)
>    Index Cond: (((p2)::text = 'fairly_common'::text) AND ((p3)::text =
> 'fairly_common'::text))
> (3 rows)

please show us an actual EXPLAIN ANALYZE
this will show us more.

> I would like the query planner to use the primary key for all of these lookups.
>  How can I enforce this?

How would that help? have you tested to see if it would 
actualy be better?

gnari





view thread (12+ messages)  latest in thread

Message-ID: <1144313574.32289.78.camel@localhost.localdomain>
Permalink:  ../1144313574.32289.78.camel@localhost.localdomain/
Also on:    postgresql.org/message-id/1144313574.32289.78.camel@localhost.localdomain

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: gnari@hive.is, btherl@yahoo.com.au
  Subject: Re: Query planner is using wrong index.
  In-Reply-To: <1144313574.32289.78.camel@localhost.localdomain>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox