Re: Lot'sa joins - performance tip-up, please?

From: Mario Splivalo <msplival(at)jagor(dot)srce(dot)hr>
To: Dave Dutcher <dave(at)tridecap(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Lot'sa joins - performance tip-up, please?
Date: 2006-05-04 14:15:13
Message-ID: 1146752113.8538.22.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, 2006-05-03 at 10:20 -0500, Dave Dutcher wrote:
> > -> Nested Loop (cost=0.00..176144.30 rows=57925 width=26)
> > (actual time=68.322..529472.026 rows=57925 loops=1)
> > -> Seq Scan on ticketing_codes_played
> > (cost=0.00..863.25 rows=57925 width=8) (actual time=0.042..473.881
> > rows=57925 loops=1)
> > -> Index Scan using ticketing_codes_pk on
> > ticketing_codes (cost=0.00..3.01 rows=1 width=18) (actual
> > time=9.102..9.108 rows=1 loops=57925)
> > Index Cond: (ticketing_codes.code_id =
> > "outer".code_id)
> > Total runtime: 542000.093 ms
> > (27 rows)
> >
> >
> > I'll be more than happy to provide any additional information
> > that I may
> > be able to gather. I'd be most happy if someone would scream something
> > like "four joins, smells like a poor design" because design
> > is poor, but
> > the system is in production, and I have to bare with it.
>
>
> It looks like that nested loop which is joining ticketing_codes_played
> to ticketing_codes is the slow part. I'm curious how many rows are in
> the ticketing_codes table?
>
> Four or five joins does not seem like a lot to me, but it can be slow if
> you are joining big tables with other big tables.

Ticketing_codes table has 11000000 records, and it's expected to grow.

I tried playing with JOIN order as Tom suggested, but performance is the
same.

Mario

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Mario Splivalo 2006-05-04 14:45:57 Re: Lot'sa joins - performance tip-up, please?
Previous Message Andrew Sullivan 2006-05-04 12:27:47 Re: Postgres 7.4 and vacuum_cost_delay.