Re: Deleting Records - Mailing list pgsql-performance

From Christopher Kings-Lynne
Subject Re: Deleting Records
Date
Msg-id 43575C5D.3030301@familyhealth.com.au
Whole thread Raw
In response to Deleting Records  ("Christian Paul B. Cosinas" <cpc@cybees.com>)
List pgsql-performance
> Here is the code inside my function:
>
>     FOR temp_rec IN SELECT * FROM item_qc_doer LOOP
>         DELETE FROM qc_session WHERE item_id = temp_rec.item_id;
>         DELETE FROM item_qc_doer WHERE item_id = temp_rec.item_id;
>     END LOOP;
>
> Item_qc_oder table contains 22,000 records.

Also, chekc you have an index on both those item_id columns.

Also, why don't you just not use the loop and do this instead:

DELETE FROM qc_session WHERE item_id IN (SELECT item_id FROM item_qc_doer);
DELETE FROM item_qc_doer;

Chris


pgsql-performance by date:

Previous
From: Matteo Beccati
Date:
Subject: Re: Deleting Records
Next
From: "Steinar H. Gunderson"
Date:
Subject: Re: Materializing a sequential scan