analyzing intermediate query

From: "Andrus" <kobruleht2(at)hot(dot)ee>
To: pgsql-performance(at)postgresql(dot)org
Subject: analyzing intermediate query
Date: 2008-12-02 12:06:36
Message-ID: gh38cg$1544$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

I noticed that query

SELECT dok.*
FROM dok
JOIN (SELECT DISTINCT dokumnr FROM temptbl ) x USING(dokumnr);

is slow in 8.1.4
I cannot use explain analyze since this query uses results from temporary
table temptbl which is not available.

Sometimes innter table returns only 1 row so maybe seq scan is selected
instead of single row index access becauses expected count is 1000

As I understand, PostgreSql requires manually running ANALYZE for temporary
tables if their row count is different from 1000

How to force PostgreSql to analyze inner table in this query or use other
way to get index using query plan if inner query returns single row ?

How

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message PFC 2008-12-02 13:48:36 Re: analyzing intermediate query
Previous Message PFC 2008-12-02 11:54:22 Re: Sort causes system to freeze