From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
Cc: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Performance improvement for joins where outer side is unique |
Date: | 2016-04-07 14:46:26 |
Message-ID: | 16003.1460040386@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> writes:
> I've attached an updated patch which introduces JOIN_INNER_UNIQUE and
> JOIN_LEFT_UNIQUE. So unique inner joins no longer borrow JOIN_SEMI.
OK.
> In EXPLAIN, I named these new join types "Unique Inner" and "Unique
> Left".
Hm. I'm back to being unhappy about the amount of churn introduced
into the regression test outputs by this patch. I wonder whether we
could get away with only mentioning the "unique" aspect in VERBOSE
mode.
I'm also a bit suspicious of the fact that some of the plans in
aggregates.out changed from merge to hash joins; with basically
no stats at hand in those tests, that seems dubious. A quick look
at what the patch touched in costsize.c suggests that this might
be because you've effectively allowed cost_hashjoin to give a cost
discount for inner unique, but provided no similar intelligence
in cost_mergejoin.
> I know we're close to the feature freeze, so I just want to say that
> I'll be AFK starting 5:30am Friday New Zealand time (13:30 on the 8th
> New York time), until Sunday ~4pm.
Understood. I don't know if we'll get this in or not, but I'll work
on it.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Geoff Winkless | 2016-04-07 14:51:56 | Re: Why the "UPDATE tab SET tab.col" is invalid? |
Previous Message | Fujii Masao | 2016-04-07 14:43:57 | Re: Support for N synchronous standby servers - take 2 |