Re: [HACKERS] JOIN between three *simple* tables ... - Mailing list pgsql-sql

From Tom Lane
Subject Re: [HACKERS] JOIN between three *simple* tables ...
Date
Msg-id 8775.1013030073@sss.pgh.pa.us
Whole thread Raw
In response to JOIN between three *simple* tables ...  ("Marc G. Fournier" <scrappy@hub.org>)
Responses Re: [HACKERS] JOIN between three *simple* tables ...  ("Marc G. Fournier" <scrappy@hub.org>)
List pgsql-sql
"Marc G. Fournier" <scrappy@hub.org> writes:
> iwantu=# \d poc_uid
>  Index "poc_uid"
>  Column |  Type
> --------+--------
>  uid    | bigint
> btree

> iwantu=# explain select count(1) from orientation_c poc where uid = 1;
> NOTICE:  QUERY PLAN:

> Aggregate  (cost=2264.97..2264.97 rows=1 width=0)
>   ->  Seq Scan on orientation_c poc  (cost=0.00..2264.96 rows=1 width=0)

> EXPLAIN

You're forgetting ye olde constant-casting problem.  You need something
like
select count(1) from orientation_c poc where uid = 1::bigint;

to use an index on a bigint column.

Not sure about the other thing; have you VACUUM ANALYZEd (or at least
ANALYZEd) since filling the tables?  It looks like the system thinks
the tables are much smaller than they really are.
        regards, tom lane


pgsql-sql by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: JOIN between three *simple* tables ...
Next
From: "Marc G. Fournier"
Date:
Subject: Re: [HACKERS] JOIN between three *simple* tables ...