Re: WIP: cross column correlation ...

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Josh Berkus <josh@agliodbs.com>, PostgreSQL - Hans-Jürgen Schönig <postgres@cybertec.at>, pgsql-hackers Hackers <pgsql-hackers@postgresql.org>, Boszormenyi Zoltan <zb@cybertec.at>
Date: 2011-02-24T03:30:08Z
Lists: pgsql-hackers
Robert Haas wrote:
> If you want to take the above as in any way an exhaustive survey of
> the landscape (which it isn't), C seems like a standout, maybe
> augmented by the making the planner able to notice that A1 = x1 AND A2
> = x2 is equivalent to (A1,A2) = (x1, x2) so you don't have to rewrite
> queries as much.
> 
> I don't really know how to handle the join selectivity problem.  I am
> not convinced that there is a better solution to that than decorating
> the query.  After all the join selectivity depends not only on the
> join clause itself, but also on what you've filtered out of each table
> in the meantime.

Thinking some more, I think another downside to the "decorate the query"
idea is that many queries use constants that are supplied only at
runtime, so there would be no way to hard-code a selectivity value into
a query when you don't know the value.  Could a selectivity function
handle that?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +