Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Amarendra Konda <amar(dot)vijaya(at)gmail(dot)com>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-performance(at)lists(dot)postgresql(dot)org, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )
Date: 2020-05-07 21:26:08
Message-ID: 32488.1588886768@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-performance

"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Thu, May 7, 2020 at 10:49 AM Amarendra Konda <amar(dot)vijaya(at)gmail(dot)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_translate, pa.in_reply_to*

> Not knowing the source code in this area at all...

> I'm pretty sure its because it doesn't matter.

It's actually intentional, to save a projection step within that plan
node. We'll discard the extra columns once it matters, at some higher
plan level.

(There have been some debates on -hackers about whether this optimization
is still worth anything, given all the executor improvements that have
been made since it went in. But it was clearly a win at the time.)

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2020-05-07 21:59:43 Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )
Previous Message David G. Johnston 2020-05-07 21:21:05 Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )

Browse pgsql-performance by date

  From Date Subject
Next Message David G. Johnston 2020-05-07 21:59:43 Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )
Previous Message David G. Johnston 2020-05-07 21:21:05 Re: Explain plan changes - IN CLAUSE ( Passing direct values Vs INNER Query )