From: Jeremy Haile <jhaile@fastmail.fm>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-performance@postgresql.org
Subject: Re: Slow inner join, but left join is fast
Date: Wed, 10 Jan 2007 13:44:37 -0500
Message-ID: <1168454677.25902.1168599301@webmail.messagingengine.com> (raw)
In-Reply-To: <1168454304.25047.1168597535@webmail.messagingengine.com>
References: <1168445842.5566.1168570133@webmail.messagingengine.com>
<10060.1168449344@sss.pgh.pa.us>
<1168453218.22654.1168592237@webmail.messagingengine.com>
<14865.1168454295@sss.pgh.pa.us>
<1168454304.25047.1168597535@webmail.messagingengine.com>
Another random idea - does PostgreSQL do any caching of query plans?
even on the session level?
I ran these queries from the same Query window, so my idea is that maybe
the inner join plan was cached prior to an automatic analyze being run.
But I'm doubting PostgreSQL would do something like that. And of
course, if PostgreSQL doesn't cache query plans - this idea is bogus =)
On Wed, 10 Jan 2007 13:38:24 -0500, "Jeremy Haile" <jhaile@fastmail.fm>
said:
> I'm pretty sure it didn't analyze in between - autovac is turned off
> and I ran the test multiple times before posting.
>
> But since I can't reproduce it anymore, I can't be 100% sure. And it
> certainly doesn't make sense that the estimate for the index scan would
> change based on an unrelated join condition.
>
> If I ever get it to happen again, I'll be more careful and repost if it
> is a real issue. Thanks for pointing me in the right direction!
>
>
> On Wed, 10 Jan 2007 13:38:15 -0500, "Tom Lane" <tgl@sss.pgh.pa.us> said:
> > "Jeremy Haile" <jhaile@fastmail.fm> writes:
> > > I still don't understand why the inner join would be so different from
> > > the left join prior to the analyze.
> >
> > Are you sure you hadn't analyzed in between? Or maybe autovac did it
> > for you? The reason for the plan change is the change from estimating
> > 1 row matching the transaction_date range constraint, to estimating lots
> > of them, and the join type away up at the top would surely not have
> > affected that.
> >
> > regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: jhaile@fastmail.fm, tgl@sss.pgh.pa.us
Subject: Re: Slow inner join, but left join is fast
In-Reply-To: <1168454677.25902.1168599301@webmail.messagingengine.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox