Re: [HACKERS] path toward faster partition pruning
От | Amit Langote |
---|---|
Тема | Re: [HACKERS] path toward faster partition pruning |
Дата | |
Msg-id | 8499324c-8a33-4be7-9d23-7e6a95e60ddf@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: [HACKERS] path toward faster partition pruning (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
On 2017/10/27 13:57, Robert Haas wrote: > On Fri, Oct 27, 2017 at 3:17 AM, Amit Langote > <Langote_Amit_f8@lab.ntt.co.jp> wrote: >>> I don't think we really want to get into theorem-proving here, because >>> it's slow. >> >> Just to be clear, I'm saying we could use theorem-proving (if at all) just >> for the default partition. > > I don't really see why it should be needed there either. We've got > all the bounds in order, so we should know where there are any gaps > that are covered by the default partition in the range we care about. Sorry, I forgot to add: "...just for the default partition, for cases like the one in Beena's example." In normal cases, default partition selection doesn't require any theorem-proving. It proceeds in a straightforward manner more or less like what you said it should. After thinking more on it, I think there is a rather straightforward trick to implement the idea you mentioned to get this working for the case presented in Beena's example, which works as follows: For any non-root partitioned tables, we add the list of its partition constraint clauses to the query-provided list of clauses and use the whole list to drive the partition-pruning algorithm. So, when partition-pruning runs for tprt_1, along with (< 10000) which the original query provides, we also have (>= 1) which comes from the partition constraint of tprt_1 (which is >= 1 and < 50000). Note that there exists a trick in the new code for the (< 50000) coming from the constraint to be overridden by the more restrictive (< 10000) coming from the original query. Thanks, Amit -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
В списке pgsql-hackers по дате отправления: