Re: Extremely slow DELETE with cascade foreign keys - Mailing list pgsql-performance

From Tom Lane
Subject Re: Extremely slow DELETE with cascade foreign keys
Date
Msg-id 10850.1512494726@sss.pgh.pa.us
Whole thread Raw
In response to Re: Extremely slow DELETE with cascade foreign keys  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Extremely slow DELETE with cascade foreign keys
List pgsql-performance
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> Rodrigo Rosenfeld Rosas wrote:
>> explain analyze delete from field_values where transaction_id=226;
>> QUERY PLAN
>>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
>>  Delete on field_values  (cost=0.43..257.93 rows=481 width=6) (actual
>> time=367375.805..367375.805 rows=0 loops=1)
>>    ->  Index Scan using index_field_values_on_transaction_id on
>> field_values  (cost=0.43..257.93 rows=481 width=6) (actual time=0.223..4.216
>> rows=651 loops=1)
>>          Index Cond: (transaction_id = 226)
>>  Planning time: 0.234 ms
>>  Execution time: 367375.882 ms
>> (5 registros)
>>
>> Time: 367377,085 ms (06:07,377)

> Normally this is because you lack indexes on the referencing columns, so
> the query that scans the table to find the referencing rows is a
> seqscan.

Actually though ... the weird thing about this is that I'd expect to
see a separate line in the EXPLAIN output for time spent in the FK
trigger.  Where'd that go?

            regards, tom lane


pgsql-performance by date:

Previous
From: Rodrigo Rosenfeld Rosas
Date:
Subject: Re: Extremely slow DELETE with cascade foreign keys
Next
From: Rodrigo Rosenfeld Rosas
Date:
Subject: Re: Extremely slow DELETE with cascade foreign keys