Re: Index use and slow queries

From: Russell Smith <mr-russ(at)pws(dot)com(dot)au>
To: "Tom Pfeifer" <tpfeifer(at)tela(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Index use and slow queries
Date: 2005-03-13 06:07:46
Message-ID: 200503131707.46690.mr-russ@pws.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Sun, 13 Mar 2005 04:40 pm, Tom Pfeifer wrote:
> Hello,
>
>
> My version of Postgresql is 7.4.3.
> I have a simple table with 2 indexes:
>                              Table "public.tst"
>  Column |            Type             |              Modifiers
> --------+-----------------------------+-------------------------------------
>  tst_id | bigint                      | default nextval('tst_id_seq'::text)
>  mmd5   | character varying(32)       | not null
>  active | character(1)                | not null
>  lud    | timestamp without time zone | default now()
> Indexes:
>     "tst_idx" unique, btree (mmd5, active)
>     "tst_tst_id_key" unique, btree (tst_id)
>
>
>
> There are exactly 1,000,000 (one million) rows in the table (tst).  There are no NULLS, empty columns in any row.
>
>
> I get really fast response times when using the following select statement (Less than 1 second).
> maach=# explain select * from tst where mmd5 = '71e1c18cbc708a0bf28fe106e03256c7' and active = 'A';
>                                               QUERY PLAN
> ------------------------------------------------------------------------------------------------------
>  Index Scan using tst_idx on tst  (cost=0.00..6.02 rows=1 width=57)
>    Index Cond: (((mmd5)::text = '71e1c18cbc708a0bf28fe106e03256c7'::text) AND (active = 'A'::bpchar))
> (2 rows)
>
>
>
> I get really slow repoonse times when using the following select statement (About 20 seconds).
> maach=# explain select * from tst where tst_id = 639246;

Before 8.0, bigint would not use an index unless you cast it, or quote it.

eg
explain select * from tst where tst_id = 639246::int8;
explain select * from tst where tst_id = '639246';

Hope this helps.

Russell Smith

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2005-03-13 06:26:12 Re: Index use and slow queries
Previous Message Tom Pfeifer 2005-03-13 05:40:47 Index use and slow queries