pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: MichaelDBA <MichaelDBA@sqlexec.com>
To: John Scalia <jayknowsunix@gmail.com>
Cc: Pgsql-admin <pgsql-admin@postgresql.org>
Subject: Re: Explain plan on a Select query
Date: Mon, 16 Mar 2020 14:35:18 -0400
Message-ID: <e1aa264e-3da1-f160-6875-554f8fbe5c3a@sqlexec.com> (raw)
In-Reply-To: <83029EBF-241B-499B-881A-9057399DC67B@gmail.com>
References: <83029EBF-241B-499B-881A-9057399DC67B@gmail.com>

Hi John,

How many rows are in the table?  If the table is small with respect to 
row count, and the pages are not very fragmented, ie, not many pages, 
then PG is just doing the right thing here: seq scan is less expensive 
than index scan in those cases.  You can turn off enable_seqscan to just 
make sure it does use the index.

Regards,
Michael Vitale

John Scalia wrote on 3/16/2020 12:26 PM:
> 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.
>
> 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.
>
> The query’s where clause is on a varchar(25) field. And that field has both a btree index and a trigram index on it. I’ve tried using where =, like, and ~ in order to see if I can get it to use an index. All attempts continue to say sequential scan.
> —
> Jay
> Sent from my iPad
>






view thread (4+ messages)  latest in thread

Message-ID: <e1aa264e-3da1-f160-6875-554f8fbe5c3a@sqlexec.com>
Permalink:  ../e1aa264e-3da1-f160-6875-554f8fbe5c3a@sqlexec.com/
Also on:    postgresql.org/message-id/e1aa264e-3da1-f160-6875-554f8fbe5c3a@sqlexec.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: MichaelDBA@sqlexec.com, jayknowsunix@gmail.com
  Subject: Re: Explain plan on a Select query
  In-Reply-To: <e1aa264e-3da1-f160-6875-554f8fbe5c3a@sqlexec.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox