Re: Explain plan on a Select query

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: John Scalia <jayknowsunix(at)gmail(dot)com>
Cc: Pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Explain plan on a Select query
Date: 2020-03-16 22:43:37
Message-ID: CAMkU=1yQ11TNr9mmUiaW6SkmSL92JCLrC6XZ1AFGD97oyQXvPg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Mon, Mar 16, 2020 at 12:26 PM John Scalia <jayknowsunix(at)gmail(dot)com> wrote:

> I’m a bit confused on an explain plan I just generated for a select
> statement. The plan’s first line begins with the word “Append” followed by
> the usual (cost....) data. What in the world is an Append doing here? I’ve
> recently performed another analyze on the table, btw.
>

A top level Append would generally be used when you use a UNION ALL, or you
have inheritance.

>
> Also, the query does not seem to be using an index, as the explain shows a
> pair of sequential scans, speaking of which, the second sequential scan
> shows it’s on a table, called <table>_test. Which is a little strange,
> considering that does not exist.
>

Is that the name of the table, or the alias for that table?

"-> Seq Scan on pgbench_accounts pa_alias (cost=0.00..527869.00
rows=20000000 width=97)"

"pgbench_accounts" is the actual table, "pa_alias" is the alias for it.

PostgreSQL will create alias for table when it needs to, but I've never
seen it do so by adding "_test" to the end. Usually it adds "_" and an
integer.

It would really help to be able to see either the plan or the query, or
both.

Cheers,

Jeff

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message John Scalia 2020-03-17 00:38:45 Re: Explain plan on a Select query
Previous Message MichaelDBA 2020-03-16 18:35:18 Re: Explain plan on a Select query