Re: Bad query optimizer misestimation because of TOAST tables

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: PostgreSQL Performance List <pgsql-performance(at)postgresql(dot)org>
Cc: PostGIS Users Discussion <postgis-users(at)postgis(dot)refractions(dot)net>
Subject: Re: Bad query optimizer misestimation because of TOAST tables
Date: 2005-02-02 17:44:32
Message-ID: 188.1107366272@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Markus Schaber <schabios(at)logi-track(dot)com> writes:
> IMHO, this tells the reason. The query planner has a table size of 3
> pages, which clearly is a case for a seqscan. But during the seqscan,
> the database has to fetch an additional amount of 8225 toast pages and
> 127 toast index pages, and rebuild the geometries contained therein.

I don't buy this analysis at all. The toasted columns are not those in
the index (because we don't support out-of-line-toasted index entries),
so a WHERE clause that only touches indexed columns isn't going to need
to fetch anything from the toast table. The only stuff it would fetch
is in rows that passed the WHERE and need to be returned to the client
--- and those costs are going to be the same either way.

I'm not entirely sure where the time is going, but I do not think you
have proven your theory about it. I'd suggest building the backend
with -pg and getting some gprof evidence.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message William Yu 2005-02-02 18:18:03 Re: High end server and storage for a PostgreSQL OLTP system
Previous Message Bruce Momjian 2005-02-02 17:37:10 Re: High end server and storage for a PostgreSQL OLTP system