Temp table's effect on performance - Mailing list pgsql-general

From Robert James
Subject Temp table's effect on performance
Date
Msg-id CAGYyBggTfQ2Kf1VyR5g2jmqTz5a+Zmme-pAnn5V6SWbUa4xSHA@mail.gmail.com
Whole thread Raw
Responses Re: Temp table's effect on performance
Re: Temp table's effect on performance
List pgsql-general
I'd like to understand better why manually using a temp table can
improve performance so much.

I had one complicated query that performed well.  I replaced a table
in it with a reference to a view, which was really just the table with
an inner join, and performance worsened by 2000x.  Literally.

I then modified it to first manually SELECT the view into a temp
table, and performance returned to close to the original query.  The
temp table had the same indexes as the original one.

How is that? What does the temp table do that the planner can't do
itself? Don't planner uses temp structures too?

In other words: Since my query is 100% identical algebraicly to not
using a temp table, why is it so much faster? Why can't the planner
work in the exact same order?


pgsql-general by date:

Previous
From: Igor Neyman
Date:
Subject: Re: speeding up a join query that utilizes a view
Next
From: Robert James
Date:
Subject: Understanding TIMESTAMP WITH TIME ZONE