Re: Trying to track down weird query stalls - Mailing list pgsql-performance

From Alvaro Herrera
Subject Re: Trying to track down weird query stalls
Date
Msg-id 20090330203939.GF23023@alvh.no-ip.org
Whole thread Raw
In response to Re: Trying to track down weird query stalls  (dan@sidhe.org)
Responses Re: Trying to track down weird query stalls
List pgsql-performance
dan@sidhe.org escribió:

> where libinstance.libdate <= 1238445044
>    and libinstance.enddate > 1238445044
>    and libinstance.libinstanceid = libobject.libinstanceid
>    and libinstance.architecture = ?

How are you generating the explain?  My bet is that you're just
substituting a literal in the architecture condition, but if the driver
is smart then maybe it's preparating the query beforehand.  You'll get a
different plan in that case.  Try something like this:

prepare foo(smallint) as ...
   where libinstance.architecture = $1
   ...

explain analyze execute foo(1);

If the plan you get from that is bad (and it often is), you should look
at avoiding a query prepare.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

pgsql-performance by date:

Previous
From: dan@sidhe.org
Date:
Subject: Re: Trying to track down weird query stalls
Next
From: dan@sidhe.org
Date:
Subject: Re: Trying to track down weird query stalls