Re: Trying to track down weird query stalls

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

Tree view

Trying to track down weird query stalls  (, )
 Re: Trying to track down weird query stalls  (Robert Haas, )
  Re: Trying to track down weird query stalls  (, )
   Re: Trying to track down weird query stalls  (Robert Haas, )
    Re: Trying to track down weird query stalls  (, )
   Re: Trying to track down weird query stalls  (Scott Marlowe, )
 Re: Trying to track down weird query stalls  (, )
  Re: Trying to track down weird query stalls  (Scott Marlowe, )
   Re: Trying to track down weird query stalls  (, )
    Re: Trying to track down weird query stalls  (Robert Haas, )
     Re: Trying to track down weird query stalls  (, )
      Re: Trying to track down weird query stalls  (Alvaro Herrera, )
       Re: Trying to track down weird query stalls  (, )
        Re: Trying to track down weird query stalls  (Alvaro Herrera, )
         Re: Trying to track down weird query stalls  (, )
          Re: Trying to track down weird query stalls  (Alvaro Herrera, )
           Re: Trying to track down weird query stalls  (, )
            Re: Trying to track down weird query stalls  (Alvaro Herrera, )
            Re: Trying to track down weird query stalls  (Scott Carey, )

 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:

From: Scott Carey
Date:
Subject: Re: Trying to track down weird query stalls
From: Matthew Wakeling
Date:
Subject: Re: Very specialised query