From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, Hannu Krosing <hannu(at)2ndQuadrant(dot)com>, Christian Schröder <cs(at)deriva(dot)de>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [GENERAL] Performance of full outer join in 8.3 |
Date: | 2009-04-20 06:09:40 |
Message-ID: | 1240207780.23905.186.camel@ebony.2ndQuadrant |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On Sat, 2009-04-18 at 08:32 -0400, Tom Lane wrote:
> The issues that I think would be worth having tests for are
> questions like "will the planner push comparisons to constants down
> through a full join?" (which was the bug that started this thread).
Yes, that sounds good.
> With a test methodology like the above, it wouldn't be enough to
> write a test case that exercised the behavior; you'd have to make
> sure that any alternative plan was an order of magnitude worse.
>
> I'm inclined to think that some sort of fuzzy examination of EXPLAIN
> output (in this example, "are there constant-comparison conditions in
> the relation scans?") might do the job, but I'm not sure how we'd
> go about that.
We can compose unit tests that have plans where the presence/absence of
the optimizer action is critical to a good plan. i.e. if the
constant-comparison is *not* pushed down it will be unable to use an
index created for it and so run cost will be much greater. We can then
define success in terms of a reduction in plan cost below a threshold.
So for each test we specify
* SQL
* a success threshold for cost
e.g.
For a piece of SQL we have cost = 60002.2 without optimisation or 12.45
with optimisation, so we make the threshold 20.0. Enough slack to allow
for changes in plan costs on platforms/over time, yet sufficient to
discriminate between working/non-working optimisation.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
From | Date | Subject | |
---|---|---|---|
Next Message | Henry | 2009-04-20 08:45:13 | Re: Problem with pgpool-II tool |
Previous Message | John DeSoi | 2009-04-20 06:02:06 | converting from bytea to integers |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2009-04-20 06:12:44 | Re: WITH inconsistency |
Previous Message | Pavel Golub | 2009-04-20 05:44:07 | Re: [PATCH] Borland C Compiler compatibility issues |