Re: Pluggable storage - Mailing list pgsql-hackers

From Ants Aasma
Subject Re: Pluggable storage
Date
Msg-id CA+CSw_tvezwhwJdQ3GFepWDmyT=L38sWDqitAC5e2QXKJS61Yw@mail.gmail.com
Whole thread Raw
In response to Pluggable storage  (Alvaro Herrera <alvherre@2ndQuadrant.com>)
Responses Re: Pluggable storage
List pgsql-hackers
On Tue, Aug 16, 2016 at 9:46 PM, Andres Freund <andres@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.bd5zhu35szle3n3c@alap3.anarazel.de



pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables)
Next
From: Tom Lane
Date:
Subject: Re: regexp_match() returning text