Re: Strange Slow query

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: "veramente(at)libero(dot)it" <veramente(at)libero(dot)it>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Strange Slow query
Date: 2004-02-10 20:32:39
Message-ID: 20040210203239.GA8450@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Please run it with EXPLAIN ANALYZE and post the results.

On Tue, Feb 10, 2004 at 02:30:57PM +0100, veramente(at)libero(dot)it wrote:
> Hello all,
>
> I have the following query that has a problem i cannot resolve:
>
> SELECT puzzle_picking.*, tmagaztestate.mconto, tanagraficagen.araso, tmagaztestate.mdabol, tcausalimagaz.tdescr
> FROM tcausalimagaz RIGHT JOIN (tanagraficagen RIGHT JOIN (tmagazrighe LEFT JOIN tmagaztestate ON (tmagazrighe.mnubol = tmagaztestate.mnubol) AND (tmagazrighe.mspecie = tmagaztestate.mspecie) AND (tmagazrighe.manno = tmagaztestate.manno) AND (tmagazrighe.mtiprk = tmagaztestate.mtiprk)) RIGHT JOIN puzzle_picking ON (tmagazrighe.mriga = puzzle_picking.pkriga) AND (tmagazrighe.mnubol = puzzle_picking.pknumbol) AND (tmagazrighe.mspecie = puzzle_picking.pkspecie) AND (tmagazrighe.manno = puzzle_picking.pkanno) ON tanagraficagen.aconto = tmagaztestate.mconto) ON tcausalimagaz.tcod = tmagazrighe.mcaus
> WHERE (((puzzle_picking.pkartcode)='5320009'))
> ORDER BY puzzle_picking.pkdate;
>
> Basically it is very slow (20 secs to perform ), but if i change the right join of tanagraficagen to an inner join it is instant (< than a second). My question is:
>
> Is it possible that a right join performs that much slower .. ? i mean i can undertsand it takes more time .. but 20 sec is far too much ..
>
> What can i do to speed it up?? Keep in mind that i have indexes on all of the joined columns and on the column in the where clause ..
>
> Thank you very much,
>
> Fabrizio Mazzoni
> Macron Srl
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly

--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> (... have gone from d-i being barely usable even by its developers
> anywhere, to being about 20% done. Sweet. And the last 80% usually takes
> 20% of the time, too, right?) -- Anthony Towns, debian-devel-announce

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Martijn van Oosterhout 2004-02-10 20:42:32 Re: DB cache size strategies
Previous Message Chris Browne 2004-02-10 20:32:11 Re: I want to use postresql for this app, but...