pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Craig A. James <cjames@modgraph-usa.com>
To: Spiegelberg, Greg <gspiegelberg@cranel.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: DELETE with filter on ctid
Date: Mon, 09 Apr 2007 14:57:35 -0700
Message-ID: <461AB6CF.3060202@modgraph-usa.com> (raw)
In-Reply-To: <82E74D266CB9B44390D3CCE44A781ED90B6ADC@POSTOFFICE.cranel.local>
References: <82E74D266CB9B44390D3CCE44A781ED90B6ADC@POSTOFFICE.cranel.local>

Spiegelberg, Greg wrote:
> We have a query which generates a small set of rows (~1,000) which are 
> to be used in a DELETE on the same table.  The problem we have is that 
> we need to join on 5 different columns and it takes far too long.

You may have encountered the same problem I did:  You *must* run ANALYZE on a temporary table before you use in another query.  It's surprising that this is true even for very small tables (a few hundred to a few thousand rows), but it is.  I had a case where I created a "scratch" table like yours, and the before/after ANALYZE performance was the difference between 30 seconds and a few milliseconds for the same query.

Craig



view thread (6+ messages)  latest in thread

Message-ID: <461AB6CF.3060202@modgraph-usa.com>
Permalink:  ../461AB6CF.3060202@modgraph-usa.com/
Also on:    postgresql.org/message-id/461AB6CF.3060202@modgraph-usa.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: cjames@modgraph-usa.com, gspiegelberg@cranel.com
  Subject: Re: DELETE with filter on ctid
  In-Reply-To: <461AB6CF.3060202@modgraph-usa.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox