Hi, On 2016-06-28 10:01:28 +0000, Rajeev rastogi wrote: > >3) Our 1-by-1 tuple flow in the executor has two major issues: > > Agreed, In order to tackle this IMHO, we should > 1. Makes the processing data-centric instead of operator centric. > 2. Instead of pulling each tuple from immediate operator, operator can push > the tuple to its parent. It can be allowed to push until it sees any > operator, which cannot be processed without result from other operator. > More details from another thread: > https://www.postgresql.org/message-id/bf2827dcce55594c8d7a8f7ffd3ab77159a9b...@szxeml521-mbs.china.huawei.com >
I doubt that that's going to be ok in the generic case (memory usage, materializing too much, "bushy plans", merge joins), and it's way more invasive than what I'm thinking of. I think by having batches of tuples "bubble" up in a vulcano style executor, it's possible to get most of the improvements of both approaches. Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers