Re: Temp table's effect on performance

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Robert James <srobertjames(at)gmail(dot)com>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Temp table's effect on performance
Date: 2013-01-18 17:33:50
Message-ID: CAFj8pRCJqGz_kGZviG9MSwgCptzDSKP0a7hrSCKuONLxmgqcMQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello

2013/1/18 Robert James <srobertjames(at)gmail(dot)com>:
> I'd like to understand better why manually using a temp table can
> improve performance so much.

one possible effect - there should be different statistic

did you look on EXPLAIN ANALYZE?

Regards

Pavel Stehule

>
> 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?
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2013-01-18 17:39:08 Re: Understanding TIMESTAMP WITH TIME ZONE
Previous Message Robert James 2013-01-18 17:31:47 Understanding TIMESTAMP WITH TIME ZONE