Re: Sequence vs. Index Scan - Mailing list pgsql-sql

From Tom Lane
Subject Re: Sequence vs. Index Scan
Date
Msg-id 29507.1178410970@sss.pgh.pa.us
Whole thread Raw
In response to Sequence vs. Index Scan  ("Aaron Bono" <postgresql@aranya.com>)
Responses Re: Sequence vs. Index Scan  ("Aaron Bono" <postgresql@aranya.com>)
Re: Sequence vs. Index Scan  ("Aaron Bono" <postgresql@aranya.com>)
List pgsql-sql
"Aaron Bono" <postgresql@aranya.com> writes:
> 9.                           ->  Seq Scan on branch  (cost=0.00..4.72 rows=1
> width=1281) (actual time=130129.988..157492.057 rows=1 loops=1)
> 10.                                Filter: ((start_day <= now()) AND
> ((end_day IS NULL) OR (end_day >= now())) AND (branch_id =
> get_branch_for_zip('22151'::character varying)))

There is something *awfully* wacko about that entry --- the fact that
the cost estimate is less than 5 units means that the planner thinks
there's 4 or fewer pages; either that's way wrong or the
get_branch_for_zip function is taking enormous amounts of time per row.
Have you tried timing that function on its own?

One possible reason for the performance difference is if you have 
get_branch_for_zip marked as stable in one database and volatile in the
other --- volatile would prevent it from being used in an indexqual as
you'd like.
        regards, tom lane


pgsql-sql by date:

Previous
From: "Aaron Bono"
Date:
Subject: Re: Sequence vs. Index Scan
Next
From: Andrew Sullivan
Date:
Subject: Re: Sequence vs. Index Scan