On Tue, 19 Jul 2005, John Mendenhall wrote: > I tuned a query last week to obtain acceptable performance. > Here is my recorded explain analyze results: > > LOG: duration: 826.505 ms statement: explain analyze > [cut for brevity] > > I rebooted the database machine later that night. > Now, when I run the same query, I get the following > results: > > LOG: duration: 6931.701 ms statement: explain analyze > [cut for brevity]
I just ran my query again, no changes from yesterday and it is back to normal: LOG: duration: 795.839 ms statement: explain analyze What could have been the problem? The major differences in the query plan are as follows: (1) The one that runs faster uses a Hash Join at the very top of the query plan. It does a Hash Cond on the country and code fields. (2) The one that runs slower uses a Materialize with the subplan, with no Hash items. The Materialize does Seq Scan of the countries table, and above it, a Join Filter is run. (3) The partners_pkey index on the partners table is in a different place in the query. Does anyone know what would cause the query plan to be different like this, for the same server, same query? I run vacuum analyze every night. Is this perhaps the problem? What setting do I need to tweak to make sure the faster plan is always found? Thanks for any pointers in this dilemma. JohnM -- John Mendenhall [EMAIL PROTECTED] surf utopia internet services ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org