Re: 8.4.7, incorrect estimate

From: Wayne Conrad <wconrad(at)yagni(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: 8.4.7, incorrect estimate
Date: 2011-05-02 13:19:55
Message-ID: 4DBEAF7B.1060409@yagni.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Replying to the list this time (oops)...

On 04/29/11 12:33, Kevin Grittner wrote:
> Also, make sure that you run ANALYZE against your temp table right
> before running your query.

I did that, and also added an index to it. That had no effect on the
run time, but did fix the estimate for the temporary table.

On 04/29/11 12:12, Kevin Grittner wrote:
> Out of curiosity, what do you get with?:
>
> explain analyze
> select
> page_number,
> ps_id,
> ps_page_id
> from ps_page p
> where exists
> (
> select * from documents_ps_page d
> where d.ps_page_id = p.ps_page_id
> and exists
> (select * from temp_document_ids t
> where t.document_id = d.document_id)
> )
> order by ps_page_id

Merge Semi Join (cost=186501.69..107938082.91 rows=29952777 width=12)
(actual time=242801.828..244572.318 rows=5 loops=1)
Merge Cond: (p.ps_page_id = d.ps_page_id)
-> Index Scan using ps_page_pkey on ps_page p
(cost=0.00..2995637.47 rows=86141904 width=12) (actual
time=0.052..64140.510 rows=85401688 loops=1)
-> Index Scan using documents_ps_page_ps_page_id_idx on
documents_ps_page d (cost=0.00..104384546.06 rows=37358320 width=4)
(actual time=161483.657..163254.131 rows=5 loops=1)
Filter: (alternatives: SubPlan 1 or hashed SubPlan 2)
SubPlan 1
-> Seq Scan on temp_doc_ids t (cost=0.00..1.35 rows=1
width=0) (never executed)
Filter: (document_id = $0)
SubPlan 2
-> Seq Scan on temp_doc_ids t (cost=0.00..1.34 rows=5
width=35) (actual time=0.005..0.007 rows=5 loops=1)
Total runtime: 244572.432 ms
(11 rows)

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2011-05-02 15:11:58 Re: 8.4.7, incorrect estimate
Previous Message Adarsh Sharma 2011-05-02 11:01:43 Re: The right SHMMAX and FILE_MAX