Re: Delete very slow after deletion of many rows in

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: Cornelius Buschka <c(dot)buschka(at)arcusx(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Delete very slow after deletion of many rows in
Date: 2004-11-21 17:28:44
Message-ID: 20041121084434.R42318@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Sun, 21 Nov 2004, Cornelius Buschka wrote:

> Hi,
>
> we saw the following problem:
>
> We deleted all rows from a table B referencing table A (~500000 records). No
> problem, but the following try to delete all records from table A (~180000) lead
> to a "never ending" statement. We found out, that vacuuming table B after delete
> did the trick.
>
> It seems to us the database has to do scan thru deleted records on B while
> deleting from A. Why did it last so long? An index on B.a_fk did not lead to
> imporvements. The query plan did not help.

An index seems to help for me. It's still kinda slow, but the real time
for the delete on A goes from more minutes than I was willing to wait to
about 19s.

However, if you'd already run the key without the index, refilled the
table, made the index and tried it again, it probably wouldn't have used
the index because it tries to cache the plan on first use in each session
(you'd need to start a new session to try again).

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chris Green 2004-11-21 17:50:30 Any good report/form generators for postgresql?
Previous Message Ben 2004-11-21 16:47:26 Re: Unit testing plpgsql code