Re: Parallel Seq Scan
От | Robert Haas |
---|---|
Тема | Re: Parallel Seq Scan |
Дата | |
Msg-id | CA+TgmoZUFc5segwZ9g22bN362mOrXBMCm7OPKaMw2hG-HLz6aw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Parallel Seq Scan (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Parallel Seq Scan
|
Список | pgsql-hackers |
On Sat, Feb 7, 2015 at 10:36 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: >> Well, I agree with you, but I'm not really sure what that has to do >> with the issue at hand. I mean, if we were to apply Amit's patch, >> we'd been in a situation where, for a non-parallel heap scan, heapam.c >> decides the order in which blocks get scanned, but for a parallel heap >> scan, nodeParallelSeqscan.c makes that decision. > > I think other places also decides about the order/way heapam.c has > to scan, example the order in which rows/pages has to traversed is > decided at portal/executor layer and the same is passed till heap and > in case of index, the scanlimits (heap_setscanlimits()) are decided > outside heapam.c and something similar is done for parallel seq scan. > In general, the scan is driven by Scandescriptor which is constructed > at upper level and there are some API's exposed to derive the scan. > If you are not happy with the current way nodeParallelSeqscan has > set the scan limits, we can have some form of callback which do the > required work and this callback can be called from heapam.c. I thought about a callback, but what's the benefit of doing that vs. hard-coding it in heapam.c? If the upper-layer wants to impose a TID qual or similar then heap_setscanlimits() makes sense, but that's effectively a filter condition, not a policy decision about the access pattern. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: