Re: int8, primary key, seq scan - Mailing list pgsql-general

From Dave Cramer
Subject Re: int8, primary key, seq scan
Date
Msg-id 1092963062.1546.663.camel@localhost.localdomain
Whole thread Raw
In response to int8, primary key, seq scan  (Jeff Amiel <jamiel@istreamimaging.com>)
List pgsql-general
This is a known issues with pre 8.0 postgresql...

Dave
On Thu, 2004-08-19 at 17:01, Jeff Amiel wrote:
> 7.4.2 running on FreeBSD 5.4.2
>
> I have a table (called "draft" ) that has a bigserial as the primary key.
>
> "check_id bigserial NOT NULL"
>
> I  do NOT have an additional index on that column.
>
> I have a plpgsql function (stored procedure) that selects from that
> table based on the primary key field
>
> "select into draftrow * from draft where check_id=draftid;"
> where draft id is declared in the DECLARE section as "draftid int8;"
>
> This query is woefully slow.  Sequential scan on table
>
> However, if I modify the query as follows:
>
> "select into draftrow * from draft where check_id=int8(draftid);"
>
> Ultra mega speed improvement. Index scan using the primary key.
>
> I declared the compared value (draftid) as an int8, why should I have to
> cast it as such in the query to cause the optimizer to use the primary key?
>
>
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
--
Dave Cramer
519 939 0336
ICQ # 14675561
www.postgresintl.com


pgsql-general by date:

Previous
From: Robby Russell
Date:
Subject: Re: Postgresql feature
Next
From: Tom Lane
Date:
Subject: Re: function runs on Windows not on solaris