Hi Joe,
I found the problem - it was a typical "aaaarrrgggghhh" - error. Since pseq
is declared int8, I need to say
select * from phonelog where entity = '001' and pseq >= 9120::int8 and pseq
<= 9123::int8;
(casting the two numbers). Then, it works like a charm ...
Best regards,
Chris
----- Original Message -----
From: "Joe Conway" <joseph.conway@home.com>
To: "Chris Ruprecht" <chrup999@yahoo.com>; "pgsql"
<pgsql-sql@postgresql.org>
Sent: Monday, July 30, 2001 11:43 AM
Subject: Re: [SQL] Big table - using wrong index - why?
> > phones=# \d i_pl_pseq
> > Index "i_pl_pseq"
> > Attribute | Type
> > -----------+----------------------
> > entity | character varying(3)
> > pseq | bigint
> > btree
> >
> > phones=# explain select * from phonelog where entity = '001' and pseq >=
> > 9120 and pseq <= 9123;
> > NOTICE: QUERY PLAN:
> >
> > Index Scan using i_pl_loadtimestamp on phonelog (cost=0.00..209247.39
> > rows=607 width=137)
> >
> > EXPLAIN
> >
> > phones=# \d i_pl_loadtimestamp
> > Index "i_pl_loadtimestamp"
> > Attribute | Type
> > -----------+----------------------
> > entity | character varying(3)
> > loaddate | date
> > loadtime | time
> > btree
>
> Just a guess, but what happens if you build i_pl_pseq(pseq, entity), i.e.
> reverse the key fields? Also, has the table been vacuum analyzed?
>
> -- Joe
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com