Re: Constraint exclusion, some questions
От | Hannu Krosing |
---|---|
Тема | Re: Constraint exclusion, some questions |
Дата | |
Msg-id | 1127997991.4934.2.camel@fuji.krosing.net обсуждение исходный текст |
Ответ на | Constraint exclusion, some questions (<pmagnoli@systemevolution.it>) |
Список | pgsql-hackers |
On N, 2005-09-29 at 11:24 +0200, pmagnoli@systemevolution.it wrote: > Hi, I'm testing constraint exclusion on PostgreSQL 8.1 beta 1 on windows with > the GEOIP countries database and I have a few questions: > > 1. Can I say that an index created on the "parent" table is a "global" index, > an index that spans over data in all derived tables? No, postgres has no global indexes yet. > 2. Can I say that an index created on any of the "child" or "inheriting" > table is a "partition" index, that spans data belonging that single table > only? > (explain plan seems to confirm that, just to be shure) Yes > 3. Constraint exclusion works (prunes child tables) only if your query > contains a condition based on the check constraint (say constraint "A") and > it doesn't get the fact that the data requested lies just in one child table > if the condition is on another column (say constraint "B"), even if "global" > and "partition" indexes are present for constraint "B" Constraint Exclusion works from constraints only, it does not check indexes. You can put constraints on any field of a table, not just the partitioning field, and they all will be used as potential candidates for CE > Based on that quick look it would be great to add the ability for the > optimizer to find the "good" child table from a global index, which would > make "table partitioning" or "constraint exclusion" even more effective. > Hope what I wrote makes sense. Sure, except that currently we donet have global indexes and we dont do CE based on index values -- Hannu Krosing <hannu@skype.net>
В списке pgsql-hackers по дате отправления: