Re: slow IN() clause for many cases

Поиск
Список
Период
Сортировка
От Greg Stark
Тема Re: slow IN() clause for many cases
Дата
Msg-id 871x0yirhs.fsf@stark.xeocode.com
обсуждение исходный текст
Ответ на Re: slow IN() clause for many cases  (Simon Riggs <simon@2ndquadrant.com>)
Список pgsql-hackers
Simon Riggs <simon@2ndquadrant.com> writes:

> IMHO the only way to do joins that access partitions is to do the
> constraint exclusion at run time, but I can see thats a longer
> conversation than I can start right now.

My experience in Oracle was that you can see three different types of
partition plans

1) Plans that the planner can statically deduce will access specific  partitions. This is basically what Postgres has
now.

2) Plans that the planner can statically deduce will only access a limited  number of partitions but which partitions
willbe determined at run-time.  This is sort of like how Postgres handles index scans in subqueries where  the value
beinglooked up is a parameter.
 

3) Plans that expect to span all the partitions because it can't find any  constraint in the query from which it can
deducewhich partitions to look  at.
 

Option 2 happens both for joins, and also for simple lookups where the value
being looked up is a parameter in a prepared query. My personal inclination is
that prepared queries are the way of the future so I think this is an
important case.

-- 
greg



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: slow IN() clause for many cases
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Using multi-row technique with COPY