From: Simon Riggs <simon@2ndquadrant.com>
To: Mark Kirkwood <markir@paradise.net.nz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: Pål Stenslet <paal.stenslet@exie.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Should Oracle outperform PostgreSQL on a complex
Date: Sun, 18 Dec 2005 17:53:27 +0000
Message-ID: <1134928407.2964.177.camel@localhost.localdomain> (raw)
In-Reply-To: <43A4E08D.2050708@paradise.net.nz>
References: <200512170428.jBH4S2W23715@candle.pha.pa.us>
<1134810953.2964.117.camel@localhost.localdomain>
<8627.1134843222@sss.pgh.pa.us>
<43A4E08D.2050708@paradise.net.nz>
On Sun, 2005-12-18 at 17:07 +1300, Mark Kirkwood wrote:
> Tom Lane wrote:
>
> >>2. transform joins into subselects, then return subselect rows via an
> >>index bitmap. Joins are performed via a bitmap addition process.
>
> Looks like 8.1 pretty much does this right now:
Good analysis.
8.1 doesn't do:
- the transforms sufficiently well (you just performed them manually)
- doesn't AND together multiple bitmaps to assist with N-way joins
Those aren't criticisms, just observations. Pal's original example was a
9-dimension join, so I think PostgreSQL does very well on making that
run in 30 seconds. That's a complex example and I think upholds just how
good things are right now.
Anyway, back to the starting point: IMHO there is an additional
optimisation that can be performed to somehow speed up Single large
table-many small table joins. And we have some clues as to how we might
do that.
Best Regards, Simon Riggs
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: simon@2ndquadrant.com, markir@paradise.net.nz, tgl@sss.pgh.pa.us, pgman@candle.pha.pa.us, paal.stenslet@exie.com
Subject: Re: Should Oracle outperform PostgreSQL on a complex
In-Reply-To: <1134928407.2964.177.camel@localhost.localdomain>
* 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