Re: trying to delete most of the table by range of date col

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Mariel Cherkassky <mariel(dot)cherkassky(at)gmail(dot)com>
Cc: Andreas Kretschmer <andreas(at)a-kretschmer(dot)de>, pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: trying to delete most of the table by range of date col
Date: 2018-09-03 15:25:31
Message-ID: CAMkU=1wupeaqS=9yNoY4Yf6hn1N9E50=q5pdEn5mVciq_zCM6g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-performance

>
> 4)delete in chunks :
> do $$
> declare
> rec integer;
> begin
> select count(*) from my_table into rec where end_date <=
> to_date('12/12/2018','DD/MM/YYYY') and end_date >
> to_date('11/12/2018','DD/MM/YYYY');
> while rec > 0 loop
> DELETE FROM my_Table WHERE id IN (select id from my_tablewhere end_date <=
> to_date('12/12/2018','DD/MM/YYYY') and end_date >
> to_date('11/12/2018','DD/MM/YYYY') limit 5000);
> rec := rec - 5000;
> raise notice '5000 records were deleted, current rows :%',rec;
> end loop;
>
> end;
> $$
> ;
>
> Execution time : 6 minutes.
>
> So, it seems that the second solution is the fastest one. It there a
> reason why the delete chunks (solution 4) wasnt faster?
>

Why would it be faster? The same amount of work needs to get done, no
matter how you slice it. Unless there is a specific reason to think it
would be faster, I would expect it won't be.

If you aren't willing to drop the constraints, then I think you just need
to resign yourself to paying the price of checking those constraints. Maybe
some future version of PostgreSQL will be able to do them in parallel.

Cheers,

Jeff

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Evan Rempel 2018-09-03 15:37:21 Re: FW: PG 10 AIX tar files
Previous Message Abraham, Danny 2018-09-03 14:34:49 FW: PG 10 AIX tar files

Browse pgsql-performance by date

  From Date Subject
Next Message Mariel Cherkassky 2018-09-03 16:27:09 Re: trying to delete most of the table by range of date col
Previous Message Carrie Berlin 2018-09-03 14:03:00 Re: trying to delete most of the table by range of date col