On August 18, 2016 7:44:50 AM PDT, Ants Aasma <ants.aa...@eesti.ee> wrote: >On Tue, Aug 16, 2016 at 9:46 PM, Andres Freund <and...@anarazel.de> >wrote: >> On 2016-08-15 12:02:18 -0400, Robert Haas wrote: >>> I am somewhat inclined to >>> believe that we need to restructure the executor in a bigger way so >>> that it passes around datums instead of tuples; I'm inclined to >>> believe that the current tuple-centric model is probably not optimal >>> even for the existing storage format. >> >> I actually prototyped that, and it's not an easy win so far. Column >> extraction cost, even after significant optimization, is still often >a >> significant portion of the runtime. And e.g. projection only >extracting >> all columns, after evaluating a restrictive qual referring to an >"early" >> column, can be a significant win. We'd definitely have to give up on >> extracting columns 0..n when accessing later columns... Hm. > >What about going even further than [1] in converting the executor to >being opcode based and merging projection and qual evaluation to a >single pass? Optimizer would then have some leeway about how to order >column extraction and qual evaluation. Might even be worth it to >special case some functions as separate opcodes (e.g. int4eq, >timestamp_lt). > >Regards, >Ants Aasma > >[1] >https://www.postgresql.org/message-id/20160714011850.bd5zhu35szle3...@alap3.anarazel.de
Good question. I think I have a reasonable answer, but lets discuss that in the other thread. Andres -- Sent from my Android device with K-9 Mail. Please excuse my brevity. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers