From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, pgsql-performance(at)postgresql(dot)org, Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
Subject: | Re: BETWEEN optimizer problems with single-value |
Date: | 2006-03-16 19:28:18 |
Message-ID: | 1142537298.3859.497.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
On Thu, 2006-03-16 at 10:57 -0500, Tom Lane wrote:
> Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> > Trying to get the information in the wrong place would be very
> > expensive, I agree. But preparing that information when we have access
> > to it and passing it through the plan would be much cheaper.
>
> Where would that be?
>
> > The operator and the opclass are only connected via an index access
> > method, but for a particular index each column has only one opclass.
>
> If you're proposing making clauselist_selectivity depend on what indexes
> exist, I think that's very much the wrong approach.
Using available information sounds OK to me. Guess you're thinking of
the lack of plan invalidation?
> In the first place,
> it still has to give usable answers for unindexed columns, and in the
> second place there might be multiple indexes with different opclasses
> for the same column, so the ambiguity problem still exists.
I was thinking that we would fill out the OpExpr with different
opclasses for each plan, so each one sees a different story. (I was
thinking there was a clauselist for each plan; if not, there could be.)
So the multiple index problem shouldn't exist.
Non-indexed cases still cause the problem, true.
> I have been wondering if we shouldn't add some more indexes on pg_amop
> or something to make it easier to do this sort of lookup --- we
> definitely seem to be finding multiple reasons to want to look up
> which opclasses contain a given operator.
Agreed, but still looking for better way than that.
[BTW how do you add new indexes to system tables? I want to add one to
pg_inherits but not sure where to look.]
Best Regards, Simon Riggs
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2006-03-16 19:37:07 | Re: Separate BLCKSZ for data and logging |
Previous Message | Stefan Kaltenbrunner | 2006-03-16 19:07:04 | Re: problems compiling CVS HEAD - LDAP auth and Kerberos |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-03-16 19:41:52 | Re: BETWEEN optimizer problems with single-value |
Previous Message | Joshua D. Drake | 2006-03-16 18:44:51 | Re: 1 TB of memory |