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).
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 |