| From: | Brian Cox <brian(dot)cox(at)ca(dot)com> |
|---|---|
| To: | "Robert Haas [robertmhaas(at)gmail(dot)com]" <robertmhaas(at)gmail(dot)com> |
| Cc: | "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org> |
| Subject: | Re: Deleting millions of rows |
| Date: | 2009-02-02 20:01:53 |
| Message-ID: | 49875131.8060502@ca.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
Robert Haas [robertmhaas(at)gmail(dot)com] wrote:
Thanks for your response.
> Does the table have triggers on it? Does it have indexes? What is the
> result of pg_relation_size() on that table?
No triggers; 3 indexes
cemdb=> select pg_relation_size('ts_defects');
pg_relation_size
------------------
9464971264
(1 row)
cemdb=>
cemdb=> select pg_relation_size('ts_defects_DateIndex');
pg_relation_size
------------------
1299931136
(1 row)
cemdb=> select pg_relation_size('ts_defects_DefectIndex');
pg_relation_size
------------------
1217224704
(1 row)
cemdb=> select pg_relation_size('ts_defects_EventIndex');
pg_relation_size
------------------
1216528384
>
> How much memory do you have in your machine? What is work_mem set to?
32G; work_mem=64M
> Did you try VACUUM FULL instead of just plain VACUUM to recover
> performance? You might also need to REINDEX.
> Or you could TRUNCATE the table.
I didn't try FULL or REINDEX. In this case, TRUNCATE is the best option
as I was just trying to reset the state of the table for another test.
But this brings up another question: will autovacuum do the right thing
to preserve performance on this table when many rows are deleted?
Thanks,
Brian
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Robert Haas | 2009-02-02 20:07:59 | Re: Deleting millions of rows |
| Previous Message | Dave Dutcher | 2009-02-02 19:35:22 | Re: Deleting millions of rows |