| From: | Matthias Karlsson <matthias(at)yacc(dot)se> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: Slow delete with with cascading foreign keys | 
| Date: | 2008-10-20 18:20:49 | 
| Message-ID: | 48FCCC01.4080906@yacc.se | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Tom Lane skrev:
> "Matthias Karlsson" <matthias(at)yacc(dot)se> writes:
>> I have a rather complex set of relations, connected with cascading
>> foreign keys on delete. I'm experiencing very slow performance when
>> deleting *the* lead node, which everything eventually depends on. The
>> number of records ultimately to be deleted aren't that many (perhaps
>> 2000-3000) but there are maybe 30 relations involved. I understand
>> that this is most likely due to missing indices, but I have been
>> unable to figure out how to get PostgreSQL to tell me where the
>> performance bottleneck is.
> 
> If it's a reasonably modern PG version, EXPLAIN ANALYZE will break out
> the time spent in each on-delete trigger, which should be enough to
> answer the question.
> 
> 			regards, tom lane
Thanks, that gave me something to work with. I targeted the triggers that had the most "uses", but it did not seem to 
help that much. I managed to reduce execution time with maybe 10-15%, but I'll try to apply indices more aggressively to 
see if it helps.
// Matthias
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Robert Haas | 2008-10-20 20:22:25 | Re: [HACKERS] Hot Standby utility and administrator functions | 
| Previous Message | Tom Lane | 2008-10-20 17:16:09 | Re: index scan leads to result that is different from sec scan after upgrading to 8.3.4 |