On Mon, Mar 16, 2020 at 12:26 PM John Scalia <jayknowsunix@xxxxxxxxx> 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