pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Steinar H. Gunderson <sgunderson@bigfoot.com>
To: pgsql-performance@postgresql.org
Subject: Re: performance drop on 8.2.4, reverting to 8.1.4
Date: Tue, 5 Jun 2007 23:38:47 +0200
Message-ID: <20070605213847.GA9547@uio.no> (raw)
In-Reply-To: <357fa7590706051430h5db6760dx9d4a46c7a8a36205@mail.gmail.com>
References: <20070518104646.GA13811@uio.no>
	<008201c7993c$76c88a10$653e10ac@ilgvaio>
	<20070518111455.GA13978@uio.no>
	<28604.1179503689@sss.pgh.pa.us>
	<357fa7590706051430h5db6760dx9d4a46c7a8a36205@mail.gmail.com>

On Tue, Jun 05, 2007 at 05:30:14PM -0400, Steven Flatt wrote:
> (A) LEFT JOIN (B) ON col WHERE B.col IS NULL
> 
> These queries are much slower on 8.2 than on 8.1 for what looks like the
> reason outlined above.  I have rewritten a few key queries to be of the
> equivalent form:
> 
> (A) WHERE col NOT IN (SELECT col FROM (B))

At least those _can_ be rewritten into a sane form. I have an application
with a large FULL OUTER JOIN, where _both_ sides can return NULLs. (It's
basically a diff between a "current" and a "wanted" state.)

It performs reasonably well under both 8.1 and 8.2, though. Fourteen-table
join or so :-)

/* Steinar */
-- 
Homepage: http://www.sesse.net/



view thread (24+ messages)  latest in thread

Message-ID: <20070605213847.GA9547@uio.no>
Permalink:  ../20070605213847.GA9547@uio.no/
Also on:    postgresql.org/message-id/20070605213847.GA9547@uio.no

 · 

reply

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: sgunderson@bigfoot.com
  Subject: Re: performance drop on 8.2.4, reverting to 8.1.4
  In-Reply-To: <20070605213847.GA9547@uio.no>

* 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