Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNERQuery ) - Mailing list pgsql-performance

From David G. Johnston
Subject Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNERQuery )
Date
Msg-id CAKFQuwYp4HEVoMWZY6YHPTESP-8yZdyKkXU5tUoefGgxxb2zXw@mail.gmail.com
Whole thread Raw
In response to Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNERQuery )  (Amarendra Konda <amar.vijaya@gmail.com>)
Responses Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )
Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )
List pgsql-performance
On Thu, May 7, 2020 at 10:49 AM Amarendra Konda <amar.vijaya@gmail.com> wrote:
Can you please explain, why it is getting more columns in output, even though we have asked for only one column ? 

               Output: pa.process_activity_id, pa.process_activity_type, pa.voice_url, pa.process_activity_user_id, pa.app_id, pa.process_instance_id, pa.alias, pa.read_by_user, pa.source, pa.label_category_id, pa.label_id, pa.csat_response_id,
m.process_activity_fragments, pa.created, pa.updated, pa.rule_id, pa.marketing_reply_id, pa.delivered_at, pa.reply_fragments, pa.status_fragment, pa.internal_meta, pa.interaction_id, pa.do_not_translate, pa.should_translat
e, pa.in_reply_to
Not knowing the source code in this area at all...

I'm pretty sure its because it doesn't matter.  The executor retrieves data "pages", 8k blocks containing multiple records, then extracts specific full tuples from there.  At that point its probably just data pointers being passed around.  Its not until the end that the planner/executor has to decide which subset of columns to return to the user, or when a new tuple structure has to be created anyway (say because of joining), maybe, does it take the effort of constructing a minimally necessary output column set.

David J.

pgsql-performance by date:

Previous
From: Avinash Kumar
Date:
Subject: Re: pg_attribute, pg_class, pg_depend grow huge in count and sizewith multiple tenants.
Next
From: Tom Lane
Date:
Subject: Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )