Re: Help to find out problem with joined tables

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Rodrigo Moreno <rodrigo(dot)miguel(at)terra(dot)com(dot)br>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Help to find out problem with joined tables
Date: 2005-03-17 04:42:18
Message-ID: 20050317044217.GA23968@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, Mar 16, 2005 at 05:10:17PM -0300, Rodrigo Moreno wrote:

> If I join movest/natope, it's fast, if I join movest/produt, it's fast too,
> but when I put a third joined table, forget, it's very slow.

What version of PostgreSQL are you using?

> All tables are vacuumed by vacummdb --full --analyze, every night
> All Indexes are reindexed every night

How many updates/deletes do the tables see between vacuums?

> Movest: +- 2 milions rows, indexed
> Natope: 30 rows PK(natope_id)
> Produt: +- 1400 Rows PK(codpro)

Could you show the table definitions, or at least the definitions
for the relevant columns and indexes?

> -> Seq Scan on produt c (cost=0.00..108.26 rows=8 width=4) (actual
> time=2688.356..2875.743 rows=1 loops=6)
> Filter: ((codpro)::numeric = 629001::numeric)

What type is produt.codpro? You might be missing a potential index
scan here due to mismatched types.

The times (2688.356..2875.743) here look odd, although I might be
overlooking or misinterpreting something. I don't know what else
might cause that, but one thing that can is a lot of dead tuples
in the table, hence my question about how much activity the tables
see between vacuums. Maybe somebody else can provide a better
explanation.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message mark.lubratt 2005-03-17 06:16:24 Join method influences scan method?
Previous Message Tom Lane 2005-03-17 03:19:13 Re: multi-column index